description: A starta material is a tree with FrontMateiral being its root and BSDF being leaves, with operators in the middle. This recursively parse nodes outputing strata material in order to gather the maximum distance to any leaves. This is used to drive the bottom up order processing of those nodes.

code: virtual [FStrataOperator](API\Runtime\Engine\Rendering\FStrataOperator) * StrataGenerateMaterialTopologyTree ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Parent, int32 OutputIndex )


description: Generates a GUID for this expression if one doesn't already exist.

module: Engine

code: void UpdateMaterialExpressionGuid ( bool bForceGeneration, bool bAllowMarkingPackageDirty )


code: virtual bool UsesLeftGutter() const


description: Generates a GUID for the parameter expression if one doesn't already exist and we are one.

code: void UpdateParameterGuid ( bool bForceGeneration, bool bAllowMarkingPackageDirty )


code: virtual bool UsesRightGutter() const


code: virtual void ValidateParameterName ( const bool bAllowDuplicateName )


description: Asserts if the expression is not contained by its Material or Function's expressions array.

code: void ValidateState()


code: UMaterialExpression ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpression

code: class UMaterialExpression : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

bCollapsed

type: uint32: 1

description: If true, show a collapsed version of the node

bCommentBubbleVisible

description: If true, the comment bubble will be visible in the graph editor

bHidePreviewWindow

description: If true, do not render the preview window for the expression

bIsParameterExpression

type: uint8:  1

description: Indicates that this is a 'parameter' type of expression and should always be loaded (ie not cooked away) because we might want the default parameter.

bNeedToUpdatePreview

description: If true, we should update the preview next render. This is set when changing bRealtimePreview.

bRealtimePreview

description: Set to true by RecursiveUpdateRealtimePreview() if the expression's preview needs to be updated in realtime in the material editor.

bShaderInputData

description: Whether the node represents an input to the shader or not. Used to color the node's background.

bShowInputs

description: Whether to draw the expression's inputs.

bShowMaskColorsOnPin

description: If true, changes the pin color to match the output mask

bShowOutputNameOnPin

description: If true, use the output name as the label for the pin

bShowOutputs

description: Whether to draw the expression's outputs.

CachedInputs

type: TArray<FExpres...

description: Caches the list of expression inputs this expression has.

Desc

type: FString

description: A description that level designers can add (shows in the material editor UI).

Function

type: TObjectPtr< cla...

description: The material function that this expression is being used with, if any.

GraphNode

type: TObjectPtr<UEd...

description: Expression's Graph representation

LastErrorText

description: Text of last error for this expression

Material

description: The material that this expression is currently being compiled in.

MaterialExpressionGuid

type: FGuid

description: GUID to uniquely identify this node, to help the tutorials out

MenuCategories

type: TArray<FText>

description: Localized categories to sort this expression into...

NumExecutionInputs

description: Number of expressions connected to this expression's execution input

Outputs

description: The expression's outputs, which are set in default properties by derived classes.

SubgraphExpression

type: TObjectPtr<UMa...

description: If exists, expresssion containing this expression within its subgraph.


description: Create the new shader code chunk needed for the Abs expressionIndexto the new FMaterialCompiler::CodeChunk entry for this expression

code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


description: Returns the text to display on the material expression (in the material editor).FStringThe text to display.

code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionAbs ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionAbs

description: Absolute value material expression for user-defined materials

code: class UMaterialExpressionAbs : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Input

type: FExpressionInpu...

description: Link to the input expression to be evaluated


code: virtual [FString](API\Runtime\Core\Containers\FString) GetDisplayName() const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetFunctionName() const


description: Override to enable multiple outputs.

code: virtual int32 GetNumOutputs() const


code: UMaterialExpressionAbsorptionMediumMaterialOutput ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: Material output expression for setting absorption properties of solid refractive glass (for the Path Tracer Only).

code: class UMaterialExpressionAbsorptionMediumMaterialOutput : public [UMaterialExpressionCustomOutput](API\Runtime\Engine\Materials\UMaterialExpressionCustomOutput)

TransmittanceColor

description: Input for the transmittance color seen after travelling a distance of 100 units into the object.


code: UMaterialExpressionActorPositionWS ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionActorPositionWS

code: class UMaterialExpressionActorPositionWS : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

OriginType

type: EPositionOrigin


description: Returns the keywords that should be used when searching for this expression

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionAdd ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetCreationName() const


className: UMaterialExpressionAdd

code: class UMaterialExpressionAdd : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ConstA

type: float

description: Only used if A is not hooked up

ConstB

description: Only used if B is not hooked up


description: Sets the default texture if none is set

code: virtual void SetDefaultTexture()


description:
Return true if the texture is a movie texture
true/false

code: virtual bool TextureIsValid ( [UTexture](API\Runtime\Engine\Engine\UTexture) * InTexture, [FString](API\Runtime\Core\Containers\FString) & OutMessage )


code: UMaterialExpressionAntialiasedTextureMask ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionAppendVector ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionAppendVector

code: class UMaterialExpressionAppendVector : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


description: Get a tooltip for the expression itself.

code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


className: UMaterialExpressionArccosine

code: class UMaterialExpressionArccosine : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionArccosine ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: UMaterialExpressionArccosineFast ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionArccosineFast

code: class UMaterialExpressionArccosineFast : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionArcsine ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionArcsine

code: class UMaterialExpressionArcsine : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


className: UMaterialExpressionArcsineFast

code: class UMaterialExpressionArcsineFast : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionArcsineFast ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: UMaterialExpressionArctangent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionArctangent

code: class UMaterialExpressionArctangent : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionArctangent2 ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionArctangent2 : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: UMaterialExpressionArctangent2Fast ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionArctangent2Fast : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionArctangentFast ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionArctangentFast

code: class UMaterialExpressionArctangentFast : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionAtmosphericFogColor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionAtmosphericFogColor

code: class UMaterialExpressionAtmosphericFogColor : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionAtmosphericLightColor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionAtmosphericLightColor : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionAtmosphericLightVector ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionAtmosphericLightVector : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual [FString](API\Runtime\Core\Containers\FString) GetDisplayName() const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetFunctionName() const


code: virtual [FExpressionInput](API\Runtime\Engine\FExpressionInput) * GetInput ( int32 InputIndex )


code: virtual uint32 GetInputType ( int32 InputIndex )


description: Override to enable multiple outputs.

code: virtual int32 GetNumOutputs() const


code: class UMaterialExpressionBentNormalCustomOutput : public [UMaterialExpressionCustomOutput](API\Runtime\Engine\Materials\UMaterialExpressionCustomOutput)


code: UMaterialExpressionBentNormalCustomOutput ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual [UE::HLSLTree::EOperation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EOperation) GetBinaryOp() const


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionBinaryOp ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionBinaryOp

code: class UMaterialExpressionBinaryOp : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ConstA

description: Only used if A is not hooked up

description: Only used if B is not hooked up


code: UMaterialExpressionBlackBody ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionBlackBody

code: class UMaterialExpressionBlackBody : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Temp

description: Temperature


description: Recursively parse nodes outputing strata material in order to gather all the possible shading models used in a material graph output a Strata material.

code: virtual void GatherStrataMaterialInfo ( [FStrataMaterialInfo](API\Runtime\Engine\Engine\FStrataMaterialInfo) & StrataMaterialInfo, int32 OutputIndex )


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputName ( int32 InputIndex ) const


code: virtual bool IsInputConnectionRequired ( int32 InputIndex ) const


description: Marks certain expression types as outputting material attributes. Allows the material editor preview material to know if it should use its material attributes pin.

code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


description: Marks certain expression types as outputting Strata material. Allows the material functions to directly return a Strata material as output pin.

code: virtual bool IsResultStrataMaterial ( int32 OutputIndex )


description: A starta material is a tree with FrontMateiral being its root and BSDF being leaves, with operators in the middle. This recursively parse nodes outputing strata material in order to gather the maximum distance to any leaves. This is used to drive the bottom up order processing of those nodes.

code: virtual [FStrataOperator](API\Runtime\Engine\Rendering\FStrataOperator) * StrataGenerateMaterialTopologyTree ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Parent, int32 OutputIndex )


code: UMaterialExpressionBlendMaterialAttributes ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionBlendMaterialAttributes : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

A

type: FMaterialAttrib...

PixelAttributeBlendType

type: TEnumAsByte<EM...

description: Optionally skip blending attributes of this type.


code: static void BuildPropertyToIOIndexMap()


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual uint32 GetOutputType ( int32 OutputIndex )


code: virtual uint32 GetInputType ( int32 InputIndex )


className: PropertyToIOIndexMap

code: static [TMap](API\Runtime\Core\Containers\TMap)< EMaterialProperty, int32 > PropertyToIOIndexMap;


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

code: virtual void Serialize ( [FStructuredArchive::FRecord](API\Runtime\Core\Serialization\FStructuredArchive\FRecord) Record )


code: UMaterialExpressionBreakMaterialAttributes ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionBreakMaterialAttributes : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionBumpOffset ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionBumpOffset

code: class UMaterialExpressionBumpOffset : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ConstCoordinate

description: Only used if Coordinate is not hooked up

Coordinate

description: Outputs: Coordinate + Eye.xy * (Height - ReferencePlane) * HeightRatio.


code: UMaterialExpressionCameraPositionWS ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCameraPositionWS

code: class UMaterialExpressionCameraPositionWS : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionCameraVectorWS ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCameraVectorWS

code: class UMaterialExpressionCameraVectorWS : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionCeil ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCeil

code: class UMaterialExpressionCeil : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


description: Create the new shader code chunk needed for the Abs expressionIndexto the new FMaterialCompiler::CodeChunk entry for this expression

code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual bool GetParameterValue ( [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & OutMeta ) const


code: virtual bool IsInputConnectionRequired ( int32 InputIndex ) const


code: virtual bool IsUsedAsChannelMask() const


code: virtual bool SetParameterValue ( [FName](API\Runtime\Core\UObject\FName) InParameterName, [FLinearColor](API\Runtime\Core\Math\FLinearColor) InValue, EMaterialExpressionSetParameterValueFlags Flags )


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


className: UMaterialExpressionChannelMaskParameter

code: class UMaterialExpressionChannelMaskParameter : public [UMaterialExpressionVectorParameter](API\Runtime\Engine\Materials\UMaterialExpressionVectorParamet-)

MaskChannel

type: TEnumAsByte<EC...


code: UMaterialExpressionChannelMaskParameter ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual void Serialize ( [FStructuredArchive::FRecord](API\Runtime\Core\Serialization\FStructuredArchive\FRecord) Record )


description: Returns the text to display on the material expression (in the material editor).FStringThe text to display.

code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionClamp ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionClamp

code: class UMaterialExpressionClamp : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ClampMode

type: TEnumAsByte< en...


description: This is currently only needed by the new HLSL translator Should probably be merged withUMaterialExpressionbase interface, which already provides GetInputType/GetOutputType

code: virtual [UE::Shader::EValueType](API\Runtime\Engine\Shader\UE__Shader__EValueType) GetCustomOutputType ( int32 OutputIndex ) const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetFunctionName() const


code: virtual [FExpressionInput](API\Runtime\Engine\FExpressionInput) * GetInput ( int32 InputIndex )


code: virtual uint32 GetInputType ( int32 InputIndex )


code: UMaterialExpressionClearCoatNormalCustomOutput ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: class UMaterialExpressionClearCoatNormalCustomOutput : public [UMaterialExpressionCustomOutput](API\Runtime\Engine\Materials\UMaterialExpressionCustomOutput)


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: UMaterialExpressionCloudSampleAttribute ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCloudSampleAttribute

code: class UMaterialExpressionCloudSampleAttribute : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual [FName](API\Runtime\Core\UObject\FName) GetParameterName() const


description: Parameter Name functions, this is requires as multiple class have ParameterName but are notUMaterialExpressionParameterdue to class hierarchy.

code: virtual bool HasAParameterName() const


description:
MatchesSearchQuery: Check this expression to see if it matches the search query
true if the expression matches the search query

code: virtual bool MatchesSearchQuery ( const TCHAR * SearchQuery )


code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


code: virtual void SetParameterName ( const [FName](API\Runtime\Core\UObject\FName) & Name )


code: virtual void ValidateParameterName ( const bool bAllowDuplicateName )


code: UMaterialExpressionCollectionParameter ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCollectionParameter

code: class UMaterialExpressionCollectionParameter : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Collection

description: The Parameter Collection to use.

ParameterId

description: Id that is set from the name, and used to handle renaming of collection parameters.

ParameterName

type: FName

description: Name of the parameter being referenced.


description:
Note that the object will be modified. If we are currently recording into the transaction buffer (undo/redo), save a copy of this object into the buffer and marks the package as needing to be saved.
true if the object was saved to the transaction buffer

code: virtual bool Modify ( bool bAlwaysMarkDirty )


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionComment ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionComment

code: class UMaterialExpressionComment : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

bColorCommentBubble

type: uint32: 1

description: Whether to use Comment Color to color the background of the comment bubble shown when zoomed out.

description: Whether to show a zoom-invariant comment bubble when zoomed out (making the comment readable at any distance).

bGroupMode

type: bool

description: Whether the comment should move any fully enclosed nodes around when it is moved

CommentColor

type: FLinearColor

description: Color to style comment with

FontSize

description: Size of the text in the comment box


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


description: Returns the keywords that should be used when searching for this expression

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: UMaterialExpressionComponentMask ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionComponentMask

code: class UMaterialExpressionComponentMask : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


description: Can this node be renamed?

code: virtual bool CanRenameNode() const


description: Connects the specified input expression to the specified output of this expression.

code: virtual void ConnectExpression ( [FExpressionInput](API\Runtime\Engine\FExpressionInput) * Input, int32 OutputIndex )


description: Get all reroute expressions used by this composite & its pin bases

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpressionReroute](API\Runtime\Engine\Materials\UMaterialExpressionReroute) * > GetCurrentReroutes() const


description: Returns the current 'name' of the node (typically a parameter name). Only valid to call on a node that previously returnedCanRenameNode()= true.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetEditableName() const


code: virtual [FExpressionInput](API\Runtime\Engine\FExpressionInput) * GetInput ( int32 InputIndex )


code: virtual uint32 GetInputType ( int32 InputIndex )


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputName ( int32 InputIndex ) const


description: Get the expression inputs supported by this expression (Note: property inputs NOT included).

code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FExpressionInput](API\Runtime\Engine\FExpressionInput) * > GetInputsView()


description: Get the outputs supported by this expression.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FExpressionOutput](API\Runtime\Engine\FExpressionOutput) > & GetOutputs()


description: Check if input exppresion is directly connected to the material.

code: virtual bool IsExpressionConnected ( [FExpressionInput](API\Runtime\Engine\FExpressionInput) * Input, int32 OutputIndex )


code: virtual uint32 GetOutputType ( int32 OutputIndex )


code: virtual bool Modify ( bool bAlwaysMarkDirty )


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Sets the current 'name' of the node (typically a parameter name) Only valid to call on a node that previously returnedCanRenameNode()= true.

code: virtual void SetEditableName ( const [FString](API\Runtime\Core\Containers\FString) & NewName )


code: UMaterialExpressionComposite ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionComposite

code: class UMaterialExpressionComposite : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

SubgraphName

type: FString


description: Create the new shader code chunk needed for the Abs expressionIndexto the new FMaterialCompiler::CodeChunk entry for this expression

code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


description: Returns the text to display on the material expression (in the material editor).FStringThe text to display.

code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


description: Get a single line description of the material expression (used for lists)

code: virtual [FString](API\Runtime\Core\Containers\FString) GetDescription() const


code: UMaterialExpressionConstant ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionConstant

code: class UMaterialExpressionConstant : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: class UMaterialExpressionConstant2Vector : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionConstant2Vector ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionConstant3Vector : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionConstant3Vector ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: UMaterialExpressionConstant4Vector ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionConstant4Vector : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual [UE::Shader::FValue](API\Runtime\Engine\Shader\FValue) GetConstantValue() const


code: UMaterialExpressionConstantBiasScale ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionConstantBiasScale

code: class UMaterialExpressionConstantBiasScale : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionConstantDouble ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionConstantDouble

code: class UMaterialExpressionConstantDouble : public [UMaterialExpressionGenericConstant](API\Runtime\Engine\Materials\UMaterialExpressionGenericConsta-)

Value

type: double


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionCosine ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCosine

code: class UMaterialExpressionCosine : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionCrossProduct ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCrossProduct

code: class UMaterialExpressionCrossProduct : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


description: Returns true ifGetReferencedTexture()can ever return a valid pointer.

code: virtual bool CanReferenceTexture() const


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputName ( int32 InputIndex ) const


code: virtual uint32 GetInputType ( int32 InputIndex )


code: virtual bool GetParameterValue ( [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & OutMeta ) const


description: Callback to get any texture reference this expression emits. This is used to link the compiled uniform expressions with their default texture values. AnyUMaterialExpressionwhose compilation creates a texture uniform expression (eg Compiler->Texture, Compiler->TextureParameter) must implement this.

code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetReferencedTexture() const


description: Fill the array with all textures dependence that should trig a recompile of the material.

code: virtual void GetTexturesForceMaterialRecompile ( [TArray](API\Runtime\Core\Containers\TArray)< [UTexture](API\Runtime\Engine\Engine\UTexture) * > & Textures ) const


code: virtual bool IsInputConnectionRequired ( int32 InputIndex ) const


code: virtual bool IsUsedAsAtlasPosition() const


code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


code: virtual bool SetParameterValue ( const [FName](API\Runtime\Core\UObject\FName) & Name, const [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & Meta, EMaterialExpressionSetParameterValueFlags Flags )


code: UMaterialExpressionCurveAtlasRowParameter ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: class UMaterialExpressionCurveAtlasRowParameter : public [UMaterialExpressionScalarParameter](API\Runtime\Engine\Materials\UMaterialExpressionScalarParamet-)

Atlas

type: TObjectPtr< cla...


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetCreationName() const


code: virtual [FExpressionInput](API\Runtime\Engine\FExpressionInput) * GetInput ( int32 InputIndex )


code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FExpressionInput](API\Runtime\Engine\FExpressionInput) * > GetInputsView()


code: virtual uint32 GetOutputType ( int32 OutputIndex )


description: Marks certain expression types as outputting material attributes. Allows the material editor preview material to know if it should use its material attributes pin.

code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

code: virtual void Serialize ( [FStructuredArchive::FRecord](API\Runtime\Core\Serialization\FStructuredArchive\FRecord) Record )


code: UMaterialExpressionCustom ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCustom

code: class UMaterialExpressionCustom : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

AdditionalDefines

type: TArray< struct ...

IncludeFilePaths

type: TArray<FString...


description: This is currently only needed by the new HLSL translator Should probably be merged withUMaterialExpressionbase interface, which already provides GetInputType/GetOutputType

code: virtual [UE::Shader::EValueType](API\Runtime\Engine\Shader\UE__Shader__EValueType) GetCustomOutputType ( int32 OutputIndex ) const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetDisplayName() const


code: virtual [FString](API\Runtime\Core\Containers\FString) GetFunctionName() const


description: Override to limit the maximum number of outputs.

code: virtual int32 GetMaxOutputs() const


description: Override to enable multiple outputs.

code: virtual int32 GetNumOutputs() const


description: Allow custom outputs to generate their own source code.

code: virtual bool HasCustomSourceOutput()


code: virtual bool NeedsCustomOutputDefines()


code: UMaterialExpressionCustomOutput ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionCustomOutput

code: class UMaterialExpressionCustomOutput : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionDBufferTexture ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDBufferTexture

code: class UMaterialExpressionDBufferTexture : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Coordinates

description: UV in 0..1 range

DBufferTextureId

type: TEnumAsByte< ED...

description: Which DBuffer texture we want to make a lookup into.


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: UMaterialExpressionDDX ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDDX

code: class UMaterialExpressionDDX : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Value

type: FExpressionInpu...

description: The value we want to compute ddx/ddy from


code: UMaterialExpressionDDY ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDDY

code: class UMaterialExpressionDDY : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


className: UMaterialExpressionDecalColor

code: class UMaterialExpressionDecalColor : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionDecalColor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: UMaterialExpressionDecalDerivative ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDecalDerivative

code: class UMaterialExpressionDecalDerivative : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionDecalLifetimeOpacity ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDecalLifetimeOpacity

code: class UMaterialExpressionDecalLifetimeOpacity : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionDecalMipmapLevel ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDecalMipmapLevel

code: class UMaterialExpressionDecalMipmapLevel : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ConstWidth

description: Only used if TextureSize is not hooked up

TextureSize

description: The texture's size


code: UMaterialExpressionDeltaTime ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDeltaTime

code: class UMaterialExpressionDeltaTime : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


className: UMaterialExpressionDepthFade

description: Scales Opacity by a Linear fade based on SceneDepth, from 0 at PixelDepth to 1 at FadeDistance

code: class UMaterialExpressionDepthFade : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

FadeDistance

description: World space distance over which the fade should take place.

InOpacity

description: Input opacity which will be scaled by the result of the fade.

OpacityDefault

description: Opacity which will be scaled by the result of the fade. This is used when InOpacity is unconnected.


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputName ( int32 InputIndex ) const


code: UMaterialExpressionDepthFade ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: UMaterialExpressionDepthOfFieldFunction ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDepthOfFieldFunction

code: class UMaterialExpressionDepthOfFieldFunction : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Depth

description: Usually nothing or PixelDepth

FunctionValue

description: Determines the mapping place to use on the terrain.


className: UMaterialExpressionDeriveNormalZ

code: class UMaterialExpressionDeriveNormalZ : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionDeriveNormalZ ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: UMaterialExpressionDesaturation ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDesaturation

code: class UMaterialExpressionDesaturation : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Input

description: Outputs: Lerp(Input,dot(Input,LuminanceFactors)),Fraction)


code: UMaterialExpressionDistance ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDistance

code: class UMaterialExpressionDistance : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionDistanceCullFade ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: UMaterialExpressionDistanceFieldApproxAO ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDistanceCullFade

code: class UMaterialExpressionDistanceCullFade : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: class UMaterialExpressionDistanceFieldApproxAO : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

BaseDistanceDefault

description: Only used if BaseDistance is not hooked up

RadiusDefault

description: Only used if Radius is not hooked up


code: class UMaterialExpressionDistanceFieldGradient : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionDistanceFieldGradient ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: Create the new shader code chunk needed for the Abs expressionIndexto the new FMaterialCompiler::CodeChunk entry for this expression

code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


description: Returns the text to display on the material expression (in the material editor).FStringThe text to display.

code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: virtual uint32 GetOutputType ( int32 OutputIndex )


code: UMaterialExpressionDistanceFieldsRenderingSwitch ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual uint32 GetInputType ( int32 InputIndex )


description: Marks certain expression types as outputting material attributes. Allows the material editor preview material to know if it should use its material attributes pin.

code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


description: Material output expression to switch logic according to whether distance fields renderering is supported on this project and feature level.

code: class UMaterialExpressionDistanceFieldsRenderingSwitch : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

No

description: Used if distance fields renderering is not supported.

Yes

description: Used if distance fields renderering is supported.


code: UMaterialExpressionDistanceToNearestSurface ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: class UMaterialExpressionDistanceToNearestSurface : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


className: UMaterialExpressionDivide

code: class UMaterialExpressionDivide : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ConstA

description: Only used if A is not hooked up

ConstB

description: Only used if B is not hooked up


code: UMaterialExpressionDivide ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: Returns the keywords that should be used when searching for this expression

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


className: UMaterialExpressionDotProduct

code: class UMaterialExpressionDotProduct : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual bool GetParameterValue ( [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & OutMeta ) const


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


code: virtual bool SetParameterValue ( const [FName](API\Runtime\Core\UObject\FName) & Name, const [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & Meta, EMaterialExpressionSetParameterValueFlags Flags )


code: bool SetParameterValue ( [FName](API\Runtime\Core\UObject\FName) InParameterName, FVector4d InValue, EMaterialExpressionSetParameterValueFlags Flags )


code: UMaterialExpressionDotProduct ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: UMaterialExpressionDoubleVectorParameter ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionDoubleVectorParameter : public [UMaterialExpressionParameter](API\Runtime\Engine\Materials\UMaterialExpressionParameter)


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


description:
Copy the properties from the specified dynamic parameter
true if sucessful

code: bool CopyDynamicParameterProperties ( const [UMaterialExpressionDynamicParameter](API\Runtime\Engine\Materials\UMaterialExpressionDynamicParame-) * FromParam )


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


description:
Returns the amount of padding to use for the label.
int32 The padding (in pixels).

code: virtual int32 GetLabelPadding()


description: Get the outputs supported by this expression.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FExpressionOutput](API\Runtime\Engine\FExpressionOutput) > & GetOutputs()


description:
Get the width required by this expression (in the material editor).
int32 The width in pixels.

code: virtual int32 GetWidth() const


description:
MatchesSearchQuery: Check this expression to see if it matches the search query
true if the expression matches the search query

code: virtual bool MatchesSearchQuery ( const TCHAR * SearchQuery )


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


description: Iterate through all of the expression nodes until we find another dynamic parameter we can copy the properties from

code: void UpdateDynamicParameterProperties()


code: UMaterialExpressionDynamicParameter ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionDynamicParameter

code: class UMaterialExpressionDynamicParameter : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ParamNames

description: The names of the parameters.


code: virtual bool CanUserDeleteExpression() const


description: A givenUMaterialimplementation should implement at least one of these methods in order to generate HLSL code It's valid to implement more than one, if the expression can be used in multiple ways. For example, a for-loop expression might generate a statement for the execution input, but also generate an expression to access the loop index These methods replace theCompile()method; once we switch over to the new system,Compile()will be removed

code: virtual bool GenerateHLSLStatements ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope ) const


code: UMaterialExpressionExecBegin ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionExecBegin

code: class UMaterialExpressionExecBegin : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Exec

type: FExpressionExec...


code: UMaterialExpressionExecEnd ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionExecEnd

code: class UMaterialExpressionExecEnd : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


description: Get a tooltip for the expression itself.

code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionExponential ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionExponential

code: class UMaterialExpressionExponential : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionExponential2 ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionExponential2 : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionEyeAdaptationInverse ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionEyeAdaptationInverse

description: Provides access to the EyeAdaptation render target.

code: class UMaterialExpressionEyeAdaptationInverse : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionEyeAdaptation ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionEyeAdaptation

code: class UMaterialExpressionEyeAdaptation : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputName ( int32 InputIndex ) const


code: virtual uint32 GetInputType ( int32 InputIndex )


code: virtual uint32 GetOutputType ( int32 OutputIndex )


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

code: virtual void Serialize ( [FStructuredArchive::FRecord](API\Runtime\Core\Serialization\FStructuredArchive\FRecord) Record )


description: Marks certain expression types as outputting material attributes. Allows the material editor preview material to know if it should use its material attributes pin.

code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


code: virtual bool IsInputConnectionRequired ( int32 InputIndex ) const


code: UMaterialExpressionFeatureLevelSwitch ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionFeatureLevelSwitch

code: class UMaterialExpressionFeatureLevelSwitch : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Default

description: Default connection, used when a certain feature level doesn't have an override.


description: Create the new shader code chunk needed for the Abs expressionIndexto the new FMaterialCompiler::CodeChunk entry for this expression

code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: UMaterialExpressionFloor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionFloor

code: class UMaterialExpressionFloor : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


description: Returns the text to display on the material expression (in the material editor).FStringThe text to display.

code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


description: Returns the keywords that should be used when searching for this expression

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionFmod ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionFmod

code: class UMaterialExpressionFmod : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


description: Returns true ifGetReferencedTexture()can ever return a valid pointer.

code: virtual bool CanReferenceTexture() const


code: virtual int32 GetLabelPadding()


description: Callback to get any texture reference this expression emits. This is used to link the compiled uniform expressions with their default texture values. AnyUMaterialExpressionwhose compilation creates a texture uniform expression (eg Compiler->Texture, Compiler->TextureParameter) must implement this.

code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetReferencedTexture() const


code: virtual int32 GetWidth() const


code: virtual bool MatchesSearchQuery ( const TCHAR * SearchQuery )


code: UMaterialExpressionFontSample ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionFontSample

code: class UMaterialExpressionFontSample : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Font

description: Font resource that will be sampled

FontTexturePage

description: Allow access to the various font pages


description: Can this node be renamed?

code: virtual bool CanRenameNode() const


description: Returns the current 'name' of the node (typically a parameter name). Only valid to call on a node that previously returnedCanRenameNode()= true.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetEditableName() const


description: Callback to access derived classes' parameter expression id.

code: virtual [FGuid](API\Runtime\Core\Misc\FGuid) & GetParameterExpressionId()


code: virtual bool GetParameterValue ( [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & OutMeta ) const


code: virtual [FName](API\Runtime\Core\UObject\FName) GetParameterName() const


description: Parameter Name functions, this is requires as multiple class have ParameterName but are notUMaterialExpressionParameterdue to class hierarchy.

code: virtual bool HasAParameterName() const


description: Sets the default Font if none is set

code: virtual void SetDefaultFont()


code: virtual void SetParameterName ( const [FName](API\Runtime\Core\UObject\FName) & Name )


description: Sets the current 'name' of the node (typically a parameter name) Only valid to call on a node that previously returnedCanRenameNode()= true.

code: virtual void SetEditableName ( const [FString](API\Runtime\Core\Containers\FString) & NewName )


code: virtual bool SetParameterValue ( const [FName](API\Runtime\Core\UObject\FName) & Name, const [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & Meta, EMaterialExpressionSetParameterValueFlags Flags )


code: bool SetParameterValue ( [FName](API\Runtime\Core\UObject\FName) InParameterName, [UFont](API\Runtime\Engine\Engine\UFont) * InFontValue, int32 InFontPage, EMaterialExpressionSetParameterValueFlags Flags )


code: virtual void ValidateParameterName ( const bool bAllowDuplicateName )


code: UMaterialExpressionFontSampleParameter ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


className: UMaterialExpressionFontSampleParameter

code: class UMaterialExpressionFontSampleParameter : public [UMaterialExpressionFontSample](API\Runtime\Engine\Materials\UMaterialExpressionFontSample)

ExpressionGUID

type: FGuid

description: GUID that should be unique within the material, this is used for parameter renaming.

Group

description: The name of the parameter Group to display in MaterialInstance Editor. Default is None group

ParameterName

description: Name to be referenced when we want to find and set thsi parameter

SortPriority

description: Controls where the this parameter is displayed in a material instance parameter list.


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


description: A givenUMaterialimplementation should implement at least one of these methods in order to generate HLSL code It's valid to implement more than one, if the expression can be used in multiple ways. For example, a for-loop expression might generate a statement for the execution input, but also generate an expression to access the loop index These methods replace theCompile()method; once we switch over to the new system,Compile()will be removed

code: virtual bool GenerateHLSLStatements ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope ) const


code: virtual uint32 GetInputType ( int32 InputIndex )


code: virtual uint32 GetOutputType ( int32 InputIndex )


code: UMaterialExpressionForLoop ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionForLoop

code: class UMaterialExpressionForLoop : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionFrac ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionFrac

code: class UMaterialExpressionFrac : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionFresnel ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionFresnel

description: Allows the artists to quickly set up a Fresnel term. Returns: pow(1 - max(Normal dot Camera,0),Exponent)

code: class UMaterialExpressionFresnel : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

BaseReflectFraction

type: float

description: Specifies the fraction of specular reflection when the surfaces is viewed from straight on.

Exponent

description: The exponent to pass into the pow() function

Normal

description: The normal to dot with the camera FVector


code: virtual int32 CompilePreview ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


description: Generate the Id for this input.

code: void ConditionallyGenerateId ( bool bForce )


description: Recursively parse nodes outputing strata material in order to gather all the possible shading models used in a material graph output a Strata material.

code: virtual void GatherStrataMaterialInfo ( [FStrataMaterialInfo](API\Runtime\Engine\Engine\FStrataMaterialInfo) & StrataMaterialInfo, int32 OutputIndex )


description: Returns the appropriate preview expression when compiling a function or material preview.


description: Get a tooltip for the expression itself.

code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: virtual uint32 GetOutputType ( int32 OutputIndex )


description: Marks certain expression types as outputting material attributes. Allows the material editor preview material to know if it should use its material attributes pin.

code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


description: Marks certain expression types as outputting Strata material. Allows the material functions to directly return a Strata material as output pin.

code: virtual bool IsResultStrataMaterial ( int32 OutputIndex )


description: Called after importing property values for this object (paste, duplicate or .t3d import) Allow the object to perform any cleanup for properties which shouldn't be duplicated or are unsupported by the script serialization

code: virtual void PostEditImport()


description: Called after duplication & serialization and before PostLoad. Used to e.g. make sureUStaticMesh'sUModelgets copied as well. Note: NOT called on components on actor duplication (alt-drag or copy-paste). Use PostEditImport as well to cover that case.

code: virtual void PostDuplicate ( bool bDuplicateForPIE )


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


description: This is called when a property is about to be modified externally

code: virtual void PreEditChange ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * PropertyAboutToChange )


description: Validate InputName. Must be called after InputName is changed to prevent duplicate inputs.

code: void ValidateName()


description: A starta material is a tree with FrontMateiral being its root and BSDF being leaves, with operators in the middle. This recursively parse nodes outputing strata material in order to gather the maximum distance to any leaves. This is used to drive the bottom up order processing of those nodes.

code: virtual [FStrataOperator](API\Runtime\Engine\Rendering\FStrataOperator) * StrataGenerateMaterialTopologyTree ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Parent, int32 OutputIndex )


code: UMaterialExpressionFunctionInput ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionFunctionInput

code: class UMaterialExpressionFunctionInput : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

bCompilingFunctionPreview

description: True when this expression is being compiled in a function preview, false when this expression is being compiled into a material that uses the function.

bUsePreviewValueAsDefault

description: Whether to use the preview value or texture as the default value for this input.

Description

description: The input's description, which will be used as a tooltip on the connector in function call expressions that use this function.

EffectivePreviewDuringCompile

description: The Preview input to use during compilation from another material, when bCompilingFunctionPreview is false.

Id

description: Id of this input, used to maintain references through name changes.

InputName

description: The input's name, which will be drawn on the connector in function call expressions that use this function.

InputType

description: Type of this input.

Preview

description: Used for previewing when editing the function, or when bUsePreviewValueAsDefault is enabled.

PreviewValue

description: Value used to preview this input when editing the material function.

SortPriority

description: Controls where the input is displayed relative to the other inputs.


description: Create the new shader code chunk needed for the Abs expressionIndexto the new FMaterialCompiler::CodeChunk entry for this expression

code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


description: Returns the text to display on the material expression (in the material editor).FStringThe text to display.

code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputName ( int32 InputIndex ) const


code: virtual uint32 GetInputType ( int32 InputIndex )


code: UMaterialExpressionFunctionOutput ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionFunctionOutput

code: class UMaterialExpressionFunctionOutput : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

A

description: Stores the expression in the material function connected to this output.

bLastPreviewed

description: Whether this output was previewed the last time this function was edited.

Description

description: The output's description, which will be used as a tooltip on the connector in function call expressions that use this function.

OutputName

description: The output's name, which will be drawn on the connector in function call expressions that use this function.

description: Controls where the output is displayed relative to the other outputs.


code: virtual [UE::Shader::FValue](API\Runtime\Engine\Shader\FValue) GetConstantValue() const


description: Validate OutputName. Must be called after OutputName is changed to prevent duplicate outputs.


description: Get a single line description of the material expression (used for lists)

code: virtual [FString](API\Runtime\Core\Containers\FString) GetDescription() const


code: UMaterialExpressionGenericConstant ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionGenericConstant

code: class UMaterialExpressionGenericConstant : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


description: Marks certain expression types as outputting material attributes. Allows the material editor preview material to know if it should use its material attributes pin.

code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


code: UMaterialExpressionGetLocal ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionGetLocal

code: class UMaterialExpressionGetLocal : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual uint32 GetOutputType ( int32 InputIndex )


description: Recursively parse nodes outputing strata material in order to gather all the possible shading models used in a material graph output a Strata material.

code: virtual void GatherStrataMaterialInfo ( [FStrataMaterialInfo](API\Runtime\Engine\Engine\FStrataMaterialInfo) & StrataMaterialInfo, int32 OutputIndex )


code: virtual uint32 GetOutputType ( int32 OutputIndex )


code: virtual bool IsInputConnectionRequired ( int32 InputIndex ) const


description: Marks certain expression types as outputting Strata material. Allows the material functions to directly return a Strata material as output pin.

code: virtual bool IsResultStrataMaterial ( int32 OutputIndex )


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


description: This is called when a property is about to be modified externally

code: virtual void PreEditChange ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * PropertyAboutToChange )


description: A starta material is a tree with FrontMateiral being its root and BSDF being leaves, with operators in the middle. This recursively parse nodes outputing strata material in order to gather the maximum distance to any leaves. This is used to drive the bottom up order processing of those nodes.

code: virtual [FStrataOperator](API\Runtime\Engine\Rendering\FStrataOperator) * StrataGenerateMaterialTopologyTree ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Parent, int32 OutputIndex )


code: UMaterialExpressionGetMaterialAttributes ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionGetMaterialAttributes : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

AttributeGetTypes

type: TArray<FGuid>

MaterialAttributes

type: FMaterialAttrib...


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: UMaterialExpressionGIReplace ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: UMaterialExpressionHairAttributes ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionHairAttributes

code: class UMaterialExpressionHairAttributes : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

bUseTangentSpace

type: uint32:  1

description: If enabled, this nodes outputs a tangent space tangent, otherwise it outputs a world space tangent.


code: UMaterialExpressionHairColor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionGIReplace

code: class UMaterialExpressionGIReplace : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

Default

description: Used for direct lighting computations e.g. real-time shaders

DynamicIndirect

description: Used for dynamic indirect lighting e.g. Light Propagation Volumes

StaticIndirect

description: Used for baked indirect lighting e.g. Lightmass


className: UMaterialExpressionHairColor

code: class UMaterialExpressionHairColor : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

DyeColor

description: Control the dyeing color of the hair.

Melanin

description: Control the concentration of melanin in hair.

Redness

description: Control the redness tint of the hair. Value is normalize over the plausible range of human hair.


description: Get a tooltip for the expression itself.

code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


description: Returns the keywords that should be used when searching for this expression

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionHsvToRgb ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionHsvToRgb

code: class UMaterialExpressionHsvToRgb : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual uint32 GetInputType ( int32 InputIndex )


code: virtual uint32 GetOutputType ( int32 InputIndex )


code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


code: UMaterialExpressionIf ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionIf

code: class UMaterialExpressionIf : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ConstB

description: Only used if B is not hooked up


description: Create the new shader code chunk needed for the Abs expressionIndexto the new FMaterialCompiler::CodeChunk entry for this expression

code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


description: A givenUMaterialimplementation should implement at least one of these methods in order to generate HLSL code It's valid to implement more than one, if the expression can be used in multiple ways. For example, a for-loop expression might generate a statement for the execution input, but also generate an expression to access the loop index These methods replace theCompile()method; once we switch over to the new system,Compile()will be removed

code: virtual bool GenerateHLSLStatements ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope ) const


description: Returns the text to display on the material expression (in the material editor).FStringThe text to display.

code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionIfThenElse ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionIfThenElse

code: class UMaterialExpressionIfThenElse : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetCreationName() const


code: UMaterialExpressionInverseLinearInterpolate ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionInverseLinearInterpolate : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

bClampResult

description: Clamp the result to 0 to 1

ConstA

description: Only used if A is not hooked up

description: Only used if B is not hooked up

ConstValue

description: Only used if Value is not hooked up


code: UMaterialExpressionIsOrthographic ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionIsOrthographic

code: class UMaterialExpressionIsOrthographic : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionLength ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionLength

code: class UMaterialExpressionLength : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual [UE::HLSLTree::EOperation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EOperation) GetBinaryOp() const


code: UMaterialExpressionLess ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionLess

code: class UMaterialExpressionLess : public [UMaterialExpressionBinaryOp](API\Runtime\Engine\Materials\UMaterialExpressionBinaryOp)


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionLightmapUVs ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionLightmapUVs

description: A material expression that routes LightmapUVs to the material.

code: class UMaterialExpressionLightmapUVs : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionLightmassReplace ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionLightmassReplace

code: class UMaterialExpressionLightmassReplace : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionLightVector ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionLightVector

code: class UMaterialExpressionLightVector : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: UMaterialExpressionLinearInterpolate ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionLinearInterpolate

code: class UMaterialExpressionLinearInterpolate : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

ConstA

description: Only used if A is not hooked up

ConstAlpha

description: Only used if Alpha is not hooked up

ConstB

description: Only used if B is not hooked up


code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetKeywords() const


code: UMaterialExpressionLogarithm ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionLogarithm

code: class UMaterialExpressionLogarithm : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionLogarithm10 ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionLogarithm10 : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: UMaterialExpressionLogarithm2 ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionLogarithm2 : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


description: Get the input for a material property. Returns nullptr if the property isn't supported.

code: [FExpressionInput](API\Runtime\Engine\FExpressionInput) * GetExpressionInput ( EMaterialProperty InProperty )


code: virtual uint32 GetInputType ( int32 InputIndex )


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

code: virtual void Serialize ( [FStructuredArchive::FRecord](API\Runtime\Core\Serialization\FStructuredArchive\FRecord) Record )


description: Marks certain expression types as outputting material attributes. Allows the material editor preview material to know if it should use its material attributes pin.

code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


code: UMaterialExpressionMakeMaterialAttributes ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionMakeMaterialAttributes : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: UMaterialExpressionMapARPassthroughCameraUV ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


description: A material expression that maps viewport UVs to AR passthrough camera UVs taking into account aspect ratio and device rotation.

code: class UMaterialExpressionMapARPassthroughCameraUV : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)


code: virtual int32 Compile ( [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * > & GetBlends() const


code: void GetDependentFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * > & DependentFunctions ) const


code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputName ( int32 InputIndex ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FGuid](API\Runtime\Core\Misc\FGuid) > & GetLayerGuids() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > & GetLayerNames() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * > & GetLayers() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< bool > & GetLayerStates() const


code: [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * GetParameterAssociatedFunction ( const FHashedMaterialParameterInfo & ParameterInfo ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< bool > & GetShouldFilterLayers() const


code: virtual bool IsInputConnectionRequired ( int32 InputIndex ) const


code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


code: bool IterateDependentFunctions ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool([UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) *)> Predicate ) const


code: void OverrideLayerGraph ( const [FMaterialLayersFunctions](API\Runtime\Engine\Materials\FMaterialLayersFunctions) * OverrideLayers )


code: const [TArray](API\Runtime\Core\Containers\TArray)< bool > & GetShouldFilterBlends() const


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


code: void RebuildLayerGraph ( bool bReportErrors )


code: bool ValidateLayerConfiguration ( [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, bool bReportErrors )


code: UMaterialExpressionMaterialAttributeLayers ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


code: class UMaterialExpressionMaterialAttributeLayers : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

BlendCallers

type: TArray<TObject...

DefaultLayers

type: FMaterialLayers...


code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


description: Recursively parse nodes outputing strata material in order to gather all the possible shading models used in a material graph output a Strata material.

code: virtual void GatherStrataMaterialInfo ( [FStrataMaterialInfo](API\Runtime\Engine\Engine\FStrataMaterialInfo) & StrataMaterialInfo, int32 OutputIndex )


code: virtual bool GenerateHLSLExpression ( [FMaterialHLSLGenerator](API\Runtime\Engine\FMaterialHLSLGenerator) & Generator, [UE::HLSLTree::FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, int32 OutputIndex, [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression) const *& OutExpression ) const


code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


description: Get a tooltip for the specified connector.

code: virtual void GetConnectorToolTip ( int32 InputIndex, int32 OutputIndex, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: void GetDependentFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * > & DependentFunctions ) const


description: Get a single line description of the material expression (used for lists)

code: virtual [FString](API\Runtime\Core\Containers\FString) GetDescription() const


code: virtual void GetExpressionToolTip ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutToolTip )


code: virtual [FExpressionInput](API\Runtime\Engine\FExpressionInput) * GetInput ( int32 InputIndex )


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputName ( int32 InputIndex ) const


description: Util to get name of a particular type, optionally with type appended in parenthesis

code: [FName](API\Runtime\Core\UObject\FName) GetInputNameWithType ( int32 InputIndex, bool bWithType ) const


description: Get the expression inputs supported by this expression (Note: property inputs NOT included).

code: virtual [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FExpressionInput](API\Runtime\Engine\FExpressionInput) * > GetInputsView()


code: virtual uint32 GetInputType ( int32 InputIndex )


code: virtual bool IsInputConnectionRequired ( int32 InputIndex ) const


code: virtual bool IsResultMaterialAttributes ( int32 OutputIndex )


description: Marks certain expression types as outputting Strata material. Allows the material functions to directly return a Strata material as output pin.

code: virtual bool IsResultStrataMaterial ( int32 OutputIndex )


code: bool IterateDependentFunctions ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool([UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) *)> Predicate ) const


code: void LinkFunctionIntoCaller ( [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler )


description:
MatchesSearchQuery: Check this expression to see if it matches the search query
true if the expression matches the search query

code: virtual bool MatchesSearchQuery ( const TCHAR * SearchQuery )


code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


code: virtual void PostLoad()


description:
Set a new material function, given an old function so that links can be passed over if the name matches.
true if setting the function was a success, false if it failed.

code: bool SetMaterialFunctionEx ( [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * OldFunctionResource, [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * NewResource )


description: This is called when a property is about to be modified externally

code: virtual void PreEditChange ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * PropertyAboutToChange )


code: bool SetMaterialFunction ( [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * NewMaterialFunction )


description: Temporary compilation state shared between function calls

code: void SetSharedCompileState ( [FMaterialFunctionCompileState](API\Runtime\Engine\FMaterialFunctionCompileState) * SharedState )


description: A starta material is a tree with FrontMateiral being its root and BSDF being leaves, with operators in the middle. This recursively parse nodes outputing strata material in order to gather the maximum distance to any leaves. This is used to drive the bottom up order processing of those nodes.

code: virtual [FStrataOperator](API\Runtime\Engine\Rendering\FStrataOperator) * StrataGenerateMaterialTopologyTree ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Parent, int32 OutputIndex )


code: void UnlinkFunctionFromCaller ( [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler )


description: Update FunctionInputs and FunctionOutputs from the MaterialFunction. This must be called to keep the inputs and outputs up to date with the function being used.

code: void UpdateFromFunctionResource ( bool bRecreateAndLinkNode )


code: UMaterialExpressionMaterialFunctionCall ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionMaterialFunctionCall

code: class UMaterialExpressionMaterialFunctionCall : public [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression)

FunctionInputs

description: Array of all the function inputs that this function exposes.

FunctionOutputs

description: Array of all the function outputs that this function exposes.

FunctionParameterInfo

type: FMaterialParame...

description: Used by material parameters to split references to separate instances.

MaterialFunction

description: The function to call.


code: virtual bool CanUserDeleteExpression() const


code: virtual uint32 GetInputType ( int32 InputIndex )


code: UMaterialExpressionMaterialLayerOutput ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UMaterialExpressionMaterialLayerOutput

code: class UMaterialExpressionMaterialLayerOutput : public [UMaterialExpressionFunctionOutput](API\Runtime\Engine\Materials\UMaterialExpressionFunctionOutpu-)


description: Create the new shader code chunk needed for the Abs expressionIndexto the new FMaterialCompiler::CodeChunk entry for this expression

code: virtual int32 Compile ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, int32 OutputIndex )


description: Returns the text to display on the material expression (in the material editor).FStringThe text to display.

code: virtual void GetCaption ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutCaptions ) const


code: virtual uint32 GetOutputType ( int32 OutputIndex )