UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionMaterialCache.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"
6#include "Misc/Guid.h"
9#include "MaterialValueType.h"
12#include "MaterialExpressionMaterialCache.generated.h"
13
14USTRUCT()
16{
18
19
20 UPROPERTY()
21 FString Decoration;
22
24 UPROPERTY()
25 uint64 ValueType = 0;
26
28 UPROPERTY()
30};
31
32UCLASS(collapsecategories, hidecategories = Object, meta = (Private, DisplayName = "MaterialCache"))
34{
36
37public:
42 UPROPERTY(EditAnywhere, Category=MaterialAttributes)
43 bool bIsSample = false;
44
46 UPROPERTY(EditAnywhere, Category=MaterialAttributes)
48
50 UPROPERTY()
52
54 UPROPERTY(meta = (RequiredInput = "false"))
56
58 UPROPERTY(meta = (RequiredInput = "false"))
60
61 virtual FString GetFunctionName() const override { return TEXT("GetMaterialCache"); }
62 virtual FString GetDisplayName() const override { return TEXT("MaterialCache"); }
63
65
66#if WITH_EDITOR
67 void ConstructFromTag();
68 void ConstructLayout();
69 void ConstructOutputs();
70
71 virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
72 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
73 virtual void GetExpressionToolTip(TArray<FString>& OutToolTip) override;
74 virtual EShaderFrequency GetShaderFrequency(uint32 OutputIndex) override;
75 virtual EMaterialValueType GetInputValueType(int32 InputIndex) override;
76 virtual EMaterialValueType GetOutputValueType(int32 OutputIndex) override;
77 virtual FExpressionInput* GetInput(int32 InputIndex) override;
78 virtual bool IsInputConnectionRequired(int32 InputIndex) const override;
79 virtual bool IsResultMaterialAttributes(int32 OutputIndex) override;
80 virtual FName GetInputName(int32 InputIndex) const override;
81 virtual int32 GetNumOutputs() const override;
82 virtual int32 GetMaxOutputs() const override;
83 virtual TArray<FExpressionOutput>& GetOutputs() override;
84 virtual bool AllowMultipleCustomOutputs() override;
85 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
86 virtual void PostLoad() override;
87#endif // WITH_EDITOR
88
89private:
90#if WITH_EDITOR
92#endif
93};
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EMaterialValueType
Definition MaterialValueType.h:15
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
EShaderFrequency
Definition RHIDefinitions.h:202
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
Definition Array.h:670
Definition MaterialCacheVirtualTextureTag.h:13
Definition MaterialExpressionCustomOutput.h:15
Definition MaterialExpressionMaterialCache.h:34
virtual FString GetDisplayName() const override
Definition MaterialExpressionMaterialCache.h:62
Definition OverriddenPropertySet.cpp:45
@ false
Definition radaudio_common.h:23
Definition MaterialExpressionIO.h:23
Definition MaterialCacheAttribute.h:118
Definition MaterialExpressionMaterialCache.h:16
Definition UnrealType.h:6865
Definition ObjectPtr.h:488