UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionParameter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
8#include "Misc/Guid.h"
11#include "MaterialExpressionParameter.generated.h"
12
14
17{
19
20
21 UPROPERTY(EditAnywhere, Category=MaterialExpressionParameter)
22 FName ParameterName;
23
25 UPROPERTY()
26 FGuid ExpressionGUID;
27
29 UPROPERTY(EditAnywhere, Category=MaterialExpressionParameter)
31
33 UPROPERTY(EditAnywhere, Category=MaterialExpressionParameter)
34 int32 SortPriority = 32;
35
36 static FName ParameterDefaultName;
37
38
39#if WITH_EDITOR
40
41 //~ Begin UMaterialExpression Interface
42 virtual bool MatchesSearchQuery( const TCHAR* SearchQuery ) override;
43 virtual bool CanRenameNode() const override { return true; }
44 virtual FString GetEditableName() const override;
45 virtual void SetEditableName(const FString& NewName) override;
46
47 virtual bool HasAParameterName() const override { return true; }
48 virtual FName GetParameterName() const override { return ParameterName; }
49 virtual void SetParameterName(const FName& Name) override { ParameterName = Name; }
50 virtual void ValidateParameterName(const bool bAllowDuplicateName) override;
51
52 virtual bool GetParameterValue(FMaterialParameterMetadata& OutMeta) const override
53 {
54 OutMeta.Description = Desc;
55 OutMeta.ExpressionGuid = ExpressionGUID;
56 OutMeta.Group = Group;
57 OutMeta.SortPriority = SortPriority;
58 OutMeta.AssetPath = GetAssetPathName();
59 return true;
60 }
61
62 virtual void Build(MIR::FEmitter& Emitter) override;
63#endif
64 virtual bool IsAllowedIn(const UObject* MaterialOrFunction) const
65 {
66 // UMaterialExpressionParameter is not allowed, but subclasses of UMaterialExpressionParameter are allowed.
67 return GetClass() != UMaterialExpressionParameter::StaticClass();
68 }
69 //~ End UMaterialExpression Interface
70
71 virtual FGuid& GetParameterExpressionId() override
72 {
73 return ExpressionGUID;
74 }
75};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition NameTypes.h:617
Definition MaterialExpressionParameter.h:17
Definition MaterialExpression.h:150
Definition Object.h:95
Definition Guid.h:109
Definition MaterialParameters.h:33
Definition MaterialParameters.h:446