UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMaterialExternalCodeDeclaration Struct Reference

#include <MaterialExternalCodeRegistry.h>

Public Member Functions

EMaterialValueType GetReturnTypeValue () const
 
void UpdateHash (FSHA1 &Hasher) const
 

Public Attributes

uint32 bIsInlined:1 = false
 
EMaterialValueTypeBridge ReturnType = EMaterialValueTypeBridge::Unknown
 
FName Name
 
FString Definition
 
FString DefinitionDDX
 
FString DefinitionDDY
 
EDerivativeStatus Derivative = EDerivativeStatus::NotAware
 
EMaterialShaderFrequency ShaderFrequency = EMaterialShaderFrequency::Any
 
TArray< TEnumAsByte< EMaterialDomain > > Domains
 
TArray< FMaterialExternalCodeEnvironmentDefineEnvironmentDefines
 
EMaterialFeatureLevel MinimumFeatureLevel = (EMaterialFeatureLevel)0
 

Detailed Description

Declaration of external HLSL code. Such code expressions can be emitted as part of a material translation.

Member Function Documentation

◆ GetReturnTypeValue()

EMaterialValueType FMaterialExternalCodeDeclaration::GetReturnTypeValue ( ) const
inline

Function return type as material value type. Deduced from ReturnType string to maintain compatibility with other systems that rely on EMaterialValueType not being a UENUM().

◆ UpdateHash()

void FMaterialExternalCodeDeclaration::UpdateHash ( FSHA1 Hasher) const

Updates the input hasher state with the content of this external code declaration.

Member Data Documentation

◆ bIsInlined

uint32 FMaterialExternalCodeDeclaration::bIsInlined

◆ Definition

FString FMaterialExternalCodeDeclaration::Definition

Primary external code definition provided as HLSL shader code expression.

◆ DefinitionDDX

FString FMaterialExternalCodeDeclaration::DefinitionDDX

Secondary external code definition for custom DDX derivatives.

◆ DefinitionDDY

FString FMaterialExternalCodeDeclaration::DefinitionDDY

Secondary external code definition for custom DDY derivatives.

◆ Derivative

EDerivativeStatus FMaterialExternalCodeDeclaration::Derivative = EDerivativeStatus::NotAware

Specifies the kind of derivative this code declaration provides. If this is EDerivativeStatus::Valid, DefinitionDDX and DefinitionDDY provides the code definitions for the DDX and DDY derivatives respectively.

◆ Domains

TArray<TEnumAsByte<EMaterialDomain> > FMaterialExternalCodeDeclaration::Domains

List of material domains this external code can be used with. If this is empty, all material domains are accepted.

◆ EnvironmentDefines

TArray<FMaterialExternalCodeEnvironmentDefine> FMaterialExternalCodeDeclaration::EnvironmentDefines

List of shader environment defines to enable for this external code declaration.

◆ MinimumFeatureLevel

EMaterialFeatureLevel FMaterialExternalCodeDeclaration::MinimumFeatureLevel = (EMaterialFeatureLevel)0

Minimum required feature level for this external code.

◆ Name

FName FMaterialExternalCodeDeclaration::Name

◆ ReturnType

EMaterialValueTypeBridge FMaterialExternalCodeDeclaration::ReturnType = EMaterialValueTypeBridge::Unknown

◆ ShaderFrequency

EMaterialShaderFrequency FMaterialExternalCodeDeclaration::ShaderFrequency = EMaterialShaderFrequency::Any

The documentation for this struct was generated from the following files: