UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionFunctionInput.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 "MaterialExpressionFunctionInput.generated.h"
12
15
17UENUM(BlueprintType)
19{
20 FunctionInput_Scalar UMETA(DisplayName = "Scalar"),
21 FunctionInput_Vector2 UMETA(DisplayName = "Vector2"),
22 FunctionInput_Vector3 UMETA(DisplayName = "Vector3"),
23 FunctionInput_Vector4 UMETA(DisplayName = "Vector4"),
24 FunctionInput_Texture2D UMETA(DisplayName = "Texture2D"),
25 FunctionInput_TextureCube UMETA(DisplayName = "TextureCube"),
26 FunctionInput_Texture2DArray UMETA(DisplayName = "Texture2DArray"),
27 FunctionInput_VolumeTexture UMETA(DisplayName = "VolumeTexture"),
28 FunctionInput_StaticBool UMETA(DisplayName = "StaticBool"),
29 FunctionInput_MaterialAttributes UMETA(DisplayName = "MaterialAttributes"),
30 FunctionInput_TextureExternal UMETA(DisplayName = "TextureExternal"),
31 FunctionInput_Bool UMETA(DisplayName = "Bool"),
32 FunctionInput_Substrate UMETA(DisplayName = "Substrate"),
33 FunctionInput_MAX UMETA(DisplayName = "NULL"),
34};
35#define EXPECTED_NUM_INPUT_TYPES 13
36
38UENUM()
45
46UCLASS(hidecategories=object, MinimalAPI)
48{
50
51
52 UPROPERTY(meta=(RequiredInput = "false"))
54
56 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=MaterialExpressionFunctionInput)
57 FName InputName;
58
60 UPROPERTY(EditAnywhere, Category=MaterialExpressionFunctionInput)
61 FString Description;
62
64 UPROPERTY()
65 FGuid Id;
66
71 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=MaterialExpressionFunctionInput)
73
75 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=MaterialExpressionFunctionInput, meta=(OverridingInputProperty = "Preview"))
76 FVector4f PreviewValue;
77
79 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=MaterialExpressionFunctionInput)
80 uint32 bUsePreviewValueAsDefault:1;
81
83 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=MaterialExpression)
84 int32 SortPriority;
85
87 UPROPERTY(EditAnywhere, Category = MaterialExpressionFunctionInput)
89
90 UE_DEPRECATED(5.6, "bCompilingFunctionPreview has been deprecated.")
91 UPROPERTY(transient, meta = (DeprecatedProperty, DeprecationMessage = "bCompilingFunctionPreview has been removed from function inputs and has no functional usage, it has been replaced by automatic state tracking between function calls."))
92 uint32 bCompilingFunctionPreview_DEPRECATED : 1;
93
94#if WITH_EDITOR
101#endif
102
103 //~ Begin UObject Interface.
104 virtual void PostLoad() override;
105 virtual void PostDuplicate(bool bDuplicateForPIE) override;
106#if WITH_EDITOR
107 virtual void PostEditImport() override;
108 virtual void PreEditChange(FProperty* PropertyAboutToChange) override;
109 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
110#endif // WITH_EDITOR
111 //~ End UObject Interface.
112
113 //~ Begin UMaterialExpression Interface
114#if WITH_EDITOR
115 virtual void Build(MIR::FEmitter& Emitter) override;
116 virtual void GetExpressionToolTip(TArray<FString>& OutToolTip) override;
117 virtual int32 CompilePreview(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
118 virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
119 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
120
121
122 virtual bool IsResultSubstrateMaterial(int32 OutputIndex) override;
125 virtual bool IsResultMaterialAttributes(int32 OutputIndex) override;
126 virtual EMaterialValueType GetInputValueType(int32 InputIndex) override;
127 virtual EMaterialValueType GetOutputValueType(int32 OutputIndex) override;
128#endif // WITH_EDITOR
129 virtual bool IsAllowedIn(const UObject* MaterialOrFunction) const override;
130 //~ End UMaterialExpression Interface
131
133 ENGINE_API void ConditionallyGenerateId(bool bForce);
134
135 ENGINE_API static FString GetInputTypeDisplayName(EFunctionInputType InputType);
136 ENGINE_API static EMaterialValueType GetMaterialTypeFromInputType(EFunctionInputType InputType);
137 ENGINE_API static EFunctionInputType GetInputTypeFromMaterialType(EMaterialValueType MaterialType);
138#if WITH_EDITOR
141#endif // WITH_EDITOR
142
143private:
144#if WITH_EDITOR
147
150
153
157#endif // WITH_EDITOR
158};
159
160
161
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
EFunctionInputType
Definition MaterialExpressionFunctionInput.h:19
@ UMETA
Definition MaterialExpressionFunctionInput.h:20
EBlendInputRelevance
Definition MaterialExpressionFunctionInput.h:40
@ Bottom
Definition MaterialExpressionFunctionInput.h:43
@ Top
Definition MaterialExpressionFunctionInput.h:42
@ General
Definition MaterialExpressionFunctionInput.h:41
EMaterialValueType
Definition MaterialValueType.h:15
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition Array.h:670
Definition EnumAsByte.h:22
Definition MaterialExpressionFunctionInput.h:48
Definition MaterialExpression.h:150
Definition Object.h:95
Definition MaterialExpressionIO.h:23
Definition Guid.h:109
Definition UnrealType.h:6865
Definition EngineTypes.h:840
Definition SubstrateMaterialShared.h:105