UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialFunctionInstance.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
10#include "MaterialFunctionInstance.generated.h"
11
15UCLASS(hidecategories=object, MinimalAPI)
17{
19
21
22 virtual EMaterialFunctionUsage GetMaterialFunctionUsage() override;
23
25 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=MaterialFunctionInstance, AssetRegistrySearchable)
27
29 UPROPERTY(AssetRegistrySearchable)
31
33 UPROPERTY(EditAnywhere, Category=MaterialFunctionInstance)
34 TArray<struct FScalarParameterValue> ScalarParameterValues;
35
37 UPROPERTY(EditAnywhere, Category=MaterialFunctionInstance)
38 TArray<struct FVectorParameterValue> VectorParameterValues;
39
41 UPROPERTY(EditAnywhere, Category = MaterialFunctionInstance)
42 TArray<struct FDoubleVectorParameterValue> DoubleVectorParameterValues;
43
45 UPROPERTY(EditAnywhere, Category=MaterialFunctionInstance)
46 TArray<struct FTextureParameterValue> TextureParameterValues;
47
49 UPROPERTY(EditAnywhere, Category=MaterialFunctionInstance)
50 TArray<struct FTextureCollectionParameterValue> TextureCollectionParameterValues;
51
53 UPROPERTY(EditAnywhere, Category=MaterialFunctionInstance)
54 TArray<struct FParameterCollectionParameterValue> ParameterCollectionParameterValues;
55
57 UPROPERTY(EditAnywhere, Category=MaterialFunctionInstance)
58 TArray<struct FFontParameterValue> FontParameterValues;
59
61 UPROPERTY(EditAnywhere, Category=MaterialFunctionInstance)
62 TArray<struct FStaticSwitchParameter> StaticSwitchParameterValues;
63
65 UPROPERTY(EditAnywhere, Category=MaterialFunctionInstance)
66 TArray<struct FStaticComponentMaskParameter> StaticComponentMaskParameterValues;
67
69 UPROPERTY(EditAnywhere, Category = MaterialFunctionInstance)
70 TArray<struct FRuntimeVirtualTextureParameterValue> RuntimeVirtualTextureParameterValues;
71
73 UPROPERTY(EditAnywhere, Category = MaterialFunctionInstance)
74 TArray<struct FSparseVolumeTextureParameterValue> SparseVolumeTextureParameterValues;
75
76#if WITH_EDITOR
79#endif // WITH_EDITOR
80
81 //~ Begin UMaterialFunctionInterface interface
82#if WITH_EDITOR
83 virtual void UpdateFromFunctionResource() override;
85#endif
86 virtual bool ValidateFunctionUsage(class FMaterialCompiler* Compiler, const FFunctionExpressionOutput& Output) override;
87
88 virtual void PostLoad() override;
89#if WITH_EDITOR
90 virtual int32 Compile(class FMaterialCompiler* Compiler, const struct FFunctionExpressionOutput& Output) override;
92 virtual void UnlinkFromCaller() override;
93#endif
94
95#if WITH_EDITORONLY_DATA
96 virtual void Serialize(FArchive& Ar) override;
97 virtual bool IsDependent(UMaterialFunctionInterface* OtherFunction) override;
98 ENGINE_API virtual bool IterateDependentFunctions(TFunctionRef<bool(UMaterialFunctionInterface*)> Predicate) const override;
100#endif
101
102#if WITH_EDITOR
103 virtual UMaterialInterface* GetPreviewMaterial() override;
104 virtual void UpdateInputOutputTypes() override;
105 virtual bool HasFlippedCoordinates() const override;
106#endif
107
108 virtual UMaterialFunction* GetBaseFunction(FMFRecursionGuard RecursionGuard = FMFRecursionGuard()) override;
109 virtual const UMaterialFunction* GetBaseFunction(FMFRecursionGuard RecursionGuard = FMFRecursionGuard()) const override;
110
111#if WITH_EDITOR
112 virtual bool GetParameterOverrideValue(EMaterialParameterType Type, const FName& ParameterName, FMaterialParameterMetadata& OutValue, FMFRecursionGuard RecursionGuard = FMFRecursionGuard()) const override;
113#endif // WITH_EDITOR
114 //~ End UMaterialFunctionInterface interface
115
116protected:
117#if WITH_EDITORONLY_DATA
120#endif // WITH_EDITORONLY_DATA
121};
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
TMaterialRecursionGuard< class UMaterialFunctionInterface > FMFRecursionGuard
Definition MaterialFunctionInterface.h:41
EMaterialFunctionUsage
Definition MaterialFunctionInterface.h:33
EMaterialParameterType
Definition MaterialParameters.h:187
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Archive.h:1208
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition Array.h:670
Definition AssetRegistryState.h:50
Definition MaterialFunctionInstance.h:17
Definition MaterialFunctionInterface.h:59
Definition MaterialFunction.h:40
Definition MaterialInstance.h:627
Definition MaterialInterface.h:296
Definition MaterialExpressionMaterialFunctionCall.h:53
Definition MaterialParameters.h:446
Definition MaterialRecursionGuard.h:11
Definition ObjectPtr.h:488