code: const [USpecularProfile](API\Runtime\Engine\Engine\USpecularProfile) * GetSpecularProfileRT ( uint32 Index ) const


module: Engine

code: bool GetTextureValue ( const FHashedMaterialParameterInfo & ParameterInfo, const [UTexture](API\Runtime\Engine\Engine\UTexture) ** OutValue, const [FMaterialRenderContext](API\Runtime\Engine\FMaterialRenderContext) & Context ) const


code: bool GetTextureValue ( const FHashedMaterialParameterInfo & ParameterInfo, const [URuntimeVirtualTexture](API\Runtime\Engine\VT\URuntimeVirtualTexture) ** OutValue, const [FMaterialRenderContext](API\Runtime\Engine\FMaterialRenderContext) & Context ) const


code: bool GetTextureValue ( const FHashedMaterialParameterInfo & ParameterInfo, const [USparseVolumeTexture](API\Runtime\Engine\SparseVolumeTexture\USparseVolumeTexture) ** OutValue, const [FMaterialRenderContext](API\Runtime\Engine\FMaterialRenderContext) & Context ) const


code: bool GetVectorValue ( const FHashedMaterialParameterInfo & ParameterInfo, [FLinearColor](API\Runtime\Core\Math\FLinearColor) * OutValue, const [FMaterialRenderContext](API\Runtime\Engine\FMaterialRenderContext) & Context ) const


description: Invalidates the uniform expression cache.

code: void InvalidateUniformExpressionCache ( bool bRecreateUniformBuffer )


description: Initializes the RHI resources used by this resource. Called when entering the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

code: virtual void InitRHI ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList )


className: MaterialRenderProxyMap

description: Tracks all material render proxies in all scenes. This is used to propagate new shader maps to materials being used for rendering.

code: static [TSet](API\Runtime\Core\Containers\TSet)< [FMaterialRenderProxy](API\Runtime\Engine\Materials\FMaterialRenderProxy) * > MaterialRenderProxyMap;


className: MaterialRenderProxyMapLock

description: Lock that guards the access to the render proxy map


code: const uint32 NumSpecularProfileRT() const


description: Releases the RHI resources used by this resource. Called when leaving the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

code: virtual void ReleaseRHI()


description: Subsurface profiles.

code: void SetSubsurfaceProfileRT ( const [USubsurfaceProfile](API\Runtime\Engine\Engine\USubsurfaceProfile) * Ptr )


code: void UpdateUniformExpressionCacheIfNeeded ( [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel ) const


description: Default constructor.

code: FMaterialRenderProxy ( [FString](API\Runtime\Core\Containers\FString) InMaterialName )


description: Destructor.

code: virtual ~FMaterialRenderProxy()


className: FMaterialRenderProxy

description: A material render proxy used by the renderer.

code: class FMaterialRenderProxy : public [FRenderResource](API\Runtime\RenderCore\FRenderResource), public [FNoncopyable](API\Runtime\Core\Templates\FNoncopyable)

ImmutableSamplerState

type: FImmutableSampl...

description: Cached external texture immutable samplers

UniformExpressionCache

type: FUniformExpress...

description: Cached uniform expressions.


className: DefaultAnnotation

description: Default state for annotations (no flags changed)


description:
Determine if this annotation is the default
true is this is a default annotation

code: bool IsDefault()


description: Prepares the resource for deletion. This is only called by the rendering thread.

code: virtual void ReleaseResource()


description: Query the annotation to see if the specified flag has been changed

code: bool IsUsageFlagDirty ( EMaterialUsage UsageFlag )


description: Mark the specificed flag as changed in this annotation

code: void MarkUsageFlagDirty ( EMaterialUsage UsageFlag )


className: FMaterialsWithDirtyUsageFlags

description: Struct used for annotations when a materials 'used with' flags have changed and need saving

code: struct FMaterialsWithDirtyUsageFlags

MaterialFlagsThatHaveChanged

description: Store the flags that have been changed since last save, each bit represents a flag


description: Return whether the data is valid to be used

code: bool IsValid ( bool bCheckTextureIndex ) const


code: virtual const [FMaterialRenderProxy](API\Runtime\Engine\Materials\FMaterialRenderProxy) * GetFallback ( [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel ) const


className: FMaterialTextureInfo

description: This struct holds data about how a texture is sampled within a material.

code: struct FMaterialTextureInfo

SamplingScale

type: float

description: The scale used when sampling the texture

TextureIndex

description: The texture index in the material resource the data was built from.

TextureName

type: FName

description: The texture name. Used for debugging and also to for quick matching of the entries.

TextureReference

type: FSoftObjectPath

description: The reference to the texture, used to keep the TextureName valid even if it gets renamed.

UVChannelIndex

description: The coordinate index used when sampling the texture


description: Returns theFMaterial, without using a fallback if theFMaterialdoesn't have a valid shader map. Can return NULL.

code: virtual const [FMaterial](API\Runtime\Engine\FMaterial) * GetMaterialNoFallback ( [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel ) const


code: virtual bool GetParameterValue ( EMaterialParameterType Type, const FHashedMaterialParameterInfo & ParameterInfo, [FMaterialParameterValue](API\Runtime\Engine\FMaterialParameterValue) & OutValue, const [FMaterialRenderContext](API\Runtime\Engine\FMaterialRenderContext) & Context ) const


description: Initialization constructor.

code: FOverrideSelectionColorMaterialRenderProxy ( const [FMaterialRenderProxy](API\Runtime\Engine\Materials\FMaterialRenderProxy) * InParent, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & InSelectionColor )


code: FParameterGroupData ( const [FString](API\Runtime\Core\Containers\FString) & InString, int32 InSortPriority )


description: A material render proxy which overrides the selection color

code: class FOverrideSelectionColorMaterialRenderProxy : public [FMaterialRenderProxy](API\Runtime\Engine\Materials\FMaterialRenderProxy)

Parent

type: constFMaterial...

SelectionColor

type: constFLinearCo...


className: FParameterGroupData

code: struct FParameterGroupData

GroupName

type: FString


code: void GetValue ( [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & OutResult ) const


code: static [ValueType](API\Runtime\Engine\Materials\FRuntimeVirtualTextureParameterV-\ValueType) GetValue ( const [FRuntimeVirtualTextureParameterValue](API\Runtime\Engine\Materials\FRuntimeVirtualTextureParameterV-) & Parameter )


code: bool operator== ( const [FRuntimeVirtualTextureParameterValue](API\Runtime\Engine\Materials\FRuntimeVirtualTextureParameterV-) & Other ) const


code: bool operator!= ( const [FRuntimeVirtualTextureParameterValue](API\Runtime\Engine\Materials\FRuntimeVirtualTextureParameterV-) & Other ) const


className: ValueType

code: typedef const [URuntimeVirtualTexture](API\Runtime\Engine\VT\URuntimeVirtualTexture) * ValueType


code: FRuntimeVirtualTextureParameterValue ( const [FMaterialParameterInfo](API\Runtime\Engine\FMaterialParameterInfo) & InParameterInfo, class [URuntimeVirtualTexture](API\Runtime\Engine\VT\URuntimeVirtualTexture) * InValue )


className: FRuntimeVirtualTextureParameterValue

description: Editable runtime virtual texture parameter.

ExpressionGUID

type: FGuid

ParameterInfo

type: FMaterialParame...

ParameterValue

type: TObjectPtr< cla...


code: bool operator!= ( const [FScalarParameterAtlasInstanceData](API\Runtime\Engine\Materials\FScalarParameterAtlasInstanceDat-) & Other ) const


code: bool operator== ( const [FScalarParameterAtlasInstanceData](API\Runtime\Engine\Materials\FScalarParameterAtlasInstanceDat-) & Other ) const


code: FScalarParameterAtlasInstanceData()


className: FScalarParameterAtlasInstanceData

description: Editable scalar parameter.

Atlas

type: TSoftObjectPtr<...

bIsUsedAsAtlasPosition

type: bool


code: static [ValueType](API\Runtime\Engine\Materials\FScalarParameterValue\ValueType) GetValue ( const [FScalarParameterValue](API\Runtime\Engine\Materials\FScalarParameterValue) & Parameter )


code: bool operator== ( const [FScalarParameterValue](API\Runtime\Engine\Materials\FScalarParameterValue) & Other ) const


code: bool operator!= ( const [FScalarParameterValue](API\Runtime\Engine\Materials\FScalarParameterValue) & Other ) const


code: FScalarParameterValue ( const [FMaterialParameterInfo](API\Runtime\Engine\FMaterialParameterInfo) & InParameterInfo, float InValue, const [FScalarParameterAtlasInstanceData](API\Runtime\Engine\Materials\FScalarParameterAtlasInstanceDat-) & InAtlasData )


className: FScalarParameterValue

code: struct FScalarParameterValue

AtlasData

type: FScalarParamete...


code: static [ValueType](API\Runtime\Engine\Materials\FSparseVolumeTextureParameterVal-\ValueType) GetValue ( const [FSparseVolumeTextureParameterValue](API\Runtime\Engine\Materials\FSparseVolumeTextureParameterVal-) & Parameter )


code: bool operator== ( const [FSparseVolumeTextureParameterValue](API\Runtime\Engine\Materials\FSparseVolumeTextureParameterVal-) & Other ) const


code: bool operator!= ( const [FSparseVolumeTextureParameterValue](API\Runtime\Engine\Materials\FSparseVolumeTextureParameterVal-) & Other ) const


code: typedef const [USparseVolumeTexture](API\Runtime\Engine\SparseVolumeTexture\USparseVolumeTexture) * ValueType


className: FSparseVolumeTextureParameterValue

description: Editable sparse volume texture parameter.


code: FSparseVolumeTextureParameterValue ( const [FMaterialParameterInfo](API\Runtime\Engine\FMaterialParameterInfo) & InParameterInfo, class [USparseVolumeTexture](API\Runtime\Engine\SparseVolumeTexture\USparseVolumeTexture) * InValue )


className: FSwitchCustomInput

code: struct FSwitchCustomInput

Input

type: FExpressionInpu...


code: void GetValue ( [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & OutResult ) const


code: static [ValueType](API\Runtime\Engine\Materials\FTextureParameterValue\ValueType) GetValue ( const [FTextureParameterValue](API\Runtime\Engine\Materials\FTextureParameterValue) & Parameter )


code: bool operator== ( const [FTextureParameterValue](API\Runtime\Engine\Materials\FTextureParameterValue) & Other ) const


code: bool operator!= ( const [FTextureParameterValue](API\Runtime\Engine\Materials\FTextureParameterValue) & Other ) const


code: typedef const [UTexture](API\Runtime\Engine\Engine\UTexture) * ValueType


code: FTextureParameterValue ( const [FMaterialParameterInfo](API\Runtime\Engine\FMaterialParameterInfo) & InParameterInfo, class [UTexture](API\Runtime\Engine\Engine\UTexture) * InValue )


className: FTextureParameterValue

description: Editable texture parameter.

code: struct FTextureParameterValue


description: Destructor.

code: ~FUniformExpressionCache()


className: FUniformExpressionCache

description: Cached uniform expression values.

code: struct FUniformExpressionCache

AllocatedVTs

type: TArray<IAlloca...

description: Allocated virtual textures, one for each entry inFUniformExpressionSet::VTStacks

CachedUniformExpressionShaderMap

description: Shader map that was used to cache uniform expressions on this material.

OwnedAllocatedVTs

description: Allocated virtual textures that will need destroying during a call toResetAllocatedVTs()

ParameterCollections

type: TArray<FGuid>

description: Ids of parameter collections needed for rendering.

UniformBuffer

type: FUniformBufferR...

description: Material uniform buffer.


description: Call if a wait is required within the scope.

code: static void WaitForTask()


code: [FUniformExpressionCache](API\Runtime\Engine\Materials\FUniformExpressionCache) & operator[] ( int32 Index )


className: FUniformExpressionCacheAsyncUpdateScope

description: Defines a scope to update deferred uniform expression caches using an async task to fill uniform buffers. The scope attempts to launch async updates immediately, but further async updates can launch within the scope. Only one async task is launched at a time though. The async task is synced when the scope destructs. The scope enqueues render commands so it can be used on the game or render threads.


className: FUniformExpressionCacheContainer

code: struct FUniformExpressionCacheContainer


code: static [ValueType](API\Runtime\Engine\Materials\FVectorParameterValue\ValueType) GetValue ( const [FVectorParameterValue](API\Runtime\Engine\Materials\FVectorParameterValue) & Parameter )


code: bool operator== ( const [FVectorParameterValue](API\Runtime\Engine\Materials\FVectorParameterValue) & Other ) const


code: bool operator!= ( const [FVectorParameterValue](API\Runtime\Engine\Materials\FVectorParameterValue) & Other ) const


className: FVectorParameterValue

description: Editable vector parameter.

code: struct FVectorParameterValue

ParameterValue

type: FLinearColor


code: FVectorParameterValue ( const [FMaterialParameterInfo](API\Runtime\Engine\FMaterialParameterInfo) & InParameterInfo, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & InValue )


description: Workaround - Similar to base call but evaluates all expressions found, not just the first

code: namespace MaterialInstance_Private { template<typename ExpressionType> void MaterialInstance_Private::FindClosestExpressionByGUIDRecursive ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [FGuid](API\Runtime\Core\Misc\FGuid) & InGUID, TConstArrayView< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) >> InMaterialExpression, ExpressionType *& OutExpression ) }


code: namespace MaterialInstance_Private { template<typename ParameterType, typename ExpressionType> bool MaterialInstance_Private::UpdateParameter_FullTraversal ( ParameterType & Parameter, [UMaterial](API\Runtime\Engine\Materials\UMaterial) * ParentMaterial ) }


code: namespace MaterialInstance_Private { template<typename ParameterType, typename ExpressionType> bool MaterialInstance_Private::UpdateParameterSet_WithCachedData ( EMaterialParameterType ParamTypeEnum, [TArray](API\Runtime\Core\Containers\TArray)< ParameterType > & Parameters, [UMaterial](API\Runtime\Engine\Materials\UMaterial) * ParentMaterial ) }


code: enum &123; WithStructuredSerializeFromMismatchedTag = true &125;


code: namespace MaterialInstance_Private { template<typename ParameterType, typename ExpressionType> bool MaterialInstance_Private::UpdateParameterSet_FullTraversal ( [TArray](API\Runtime\Core\Containers\TArray)< ParameterType > & Parameters, [UMaterial](API\Runtime\Engine\Materials\UMaterial) * ParentMaterial ) }


code: template<> struct TStructOpsTypeTraits< FMaterialLayersFunctionsRuntimeData > : public [TStructOpsTypeTraitsBase2< FMaterialLayersFunctionsRuntimeData >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FMaterialLayersFunctions > : public [TStructOpsTypeTraitsBase2< FMaterialLayersFunctions >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


className: WithPostSerialize

code: enum &123; WithPostSerialize = true &125;


code: template<> struct TStructOpsTypeTraits< FMaterialOverrideNanite > : public [TStructOpsTypeTraitsBase2< FMaterialOverrideNanite >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


className: WithSerializer

code: enum &123; WithSerializer = true &125;


description: Add an expression node that represents a parameter to the list of material parameters.

code: virtual bool AddExpressionParameter ( [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression, [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > > & ParameterTypeMap )


code: static void AddReferencedObjects ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InThis, [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


description: For all materials, UMaterial::CacheResourceShadersForRendering.

code: static void AllMaterialsCacheResourceShadersForRendering ( bool bUpdateProgressDialog, bool bCacheAllRemainingShaders )


code: void AssignExpressionCollection ( const [FMaterialExpressionCollection](API\Runtime\Engine\Materials\FMaterialExpressionCollection) & InCollection )


code: virtual [FMaterialResource](API\Runtime\Engine\FMaterialResource) * AllocateResource()


description: Backs up all material shaders to memory through serialization, organized byFMaterialShaderMap. This will also clear allFMaterialShaderMapreferences to FShaders.

code: static void BackupMaterialShadersToMemory ( [TMap](API\Runtime\Core\Containers\TMap)< class [FMaterialShaderMap](API\Runtime\Engine\FMaterialShaderMap) *, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TArray](API\Runtime\Core\Containers\TArray)< uint8 > > > & ShaderMapToSerializedShaderData )


description: Attempts to add a new group name to the Group Data struct. True if new name was added.

code: bool AttemptInsertNewGroupName ( const [FString](API\Runtime\Core\Containers\FString) & InNewName )


description: Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

code: virtual void BeginDestroy()


code: virtual void CacheGivenTypesForCooking ( EShaderPlatform ShaderPlatform, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) FeatureLevel, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) QualityLevel, const [TArray](API\Runtime\Core\Containers\TArray)< const [FVertexFactoryType](API\Runtime\RenderCore\FVertexFactoryType) * > & VFTypes, const [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * > PipelineTypes, const [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderType](API\Runtime\RenderCore\FShaderType) * > & ShaderTypes )


description: Starts caching of platform specific data for the target platform Called when cooking before serialization so that object can prepare platform specific data Not called during normal loading of objects

code: virtual void BeginCacheForCookedPlatformData ( const [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform )


description: Iterate through all of the expression nodes in the material and finds any parameters to put in EditorParameters.

code: virtual void BuildEditorParameterList()


description: This function will submit any remaining shaders to be compiled for the given material.Bydefault these shader compilation jobs will be compiled in the background.

code: virtual void CacheShaders ( EMaterialShaderPrecompileMode CompileMode )


description:
Called after load to determine if the object can be a cluster root
true if this object can be a cluster root

code: virtual bool CanBeClusterRoot() const


description: Cancels any currently outstanding compilation jobs for this material. Useful in the material editor when some edits superceds existing, in flight compilation jobs.


description:
Called by the editor to query whether a property of this object is allowed to be modified. The property editor uses this to disable controls for properties that should not be changed. When overriding this function you should always call the parent implementation first.
true if the property can be modified in the editor, otherwise false

code: virtual bool CanEditChange ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty ) const


description:
Checks that no pre-compilation errors have been detected and if so it reports them using specified compiler.
whether no errors occurred.

code: bool CheckInValidStateForCompilation ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler ) const


code: virtual bool CastsRayTracedShadows() const


description:
Checks if the material can be used with the given usage flag. If the flag isn't set in the editor, it will be set and the material will be recompiled with it.
bool - true if the material can be used for rendering with the given type.

code: virtual bool CheckMaterialUsage ( const EMaterialUsage Usage )


description: Same as above but is valid to call from any thread. In the editor, this might spin and stall for a shader compile

code: virtual bool CheckMaterialUsage_Concurrent ( const EMaterialUsage Usage ) const


description: Clears cached cooked platform data for specific platform

code: virtual void ClearCachedCookedPlatformData ( const [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform )


description: Clear all cached cooked platform data


description: Builds a map fromUMaterialInterfacename to the shader maps that are needed for rendering on the given platform.

code: static void CompileMaterialsForRemoteRecompile ( const [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > & MaterialsToCompile, EShaderPlatform ShaderPlatform, class [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform, [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< class [FMaterialShaderMap](API\Runtime\Engine\FMaterialShaderMap) > > > & OutShaderMaps )


description: Returns a CRC of all the Guids related to this material's shader. This includes Guids from the parent hierarchy (for material instances), material function state, and parameter assignment state. NOTE this function does NOT include texture content state or texture streaming state. Used as a faster way to detect changes than GetLightingGuidChain.

code: virtual uint32 ComputeAllStateCRC() const


description: Allows material properties to be compiled with the option of being overridden by the material attributes input.

code: virtual int32 CompilePropertyEx ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, const [FGuid](API\Runtime\Core\Misc\FGuid) & AttributeID )


code: static void DeclareConstructClasses ( [TArray](API\Runtime\Core\Containers\TArray)< [FTopLevelAssetPath](API\Runtime\CoreUObject\UObject\FTopLevelAssetPath) > & OutConstructClasses, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * SpecificSubclass )


code: static void CompileODSCMaterialsForRemoteRecompile ( [TArray](API\Runtime\Core\Containers\TArray)< [FODSCRequestPayload](API\Runtime\Engine\FODSCRequestPayload) > ShadersToRecompile, [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< class [FMaterialShaderMap](API\Runtime\Engine\FMaterialShaderMap) >>> & OutShaderMaps )


code: virtual void DumpDebugInfo ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & OutputDevice ) const


className: EPostEditChangeEffectOnShaders

code: enum EPostEditChangeEffectOnShaders { Default, DoesNotInvalidate, }


description: Attempt to find a expression by its GUID.

code: template<typename ExpressionType> ExpressionType * FindExpressionByGUID ( const [FGuid](API\Runtime\Core\Misc\FGuid) & InGUID )


description: Because properties are destroyed here,Super::FinishDestroy()should always be called at the end of your child class'sFinishDestroy()method, rather than at the beginning.

code: virtual void FinishDestroy()


description: Shifts the positions of comments so that they are aligned correctly with other expressions

code: static void FixCommentPositions ( TConstArrayView< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UMaterialExpressionComment](API\Runtime\Engine\Materials\UMaterialExpressionComment) >> Comments )


description: Fixup feature level nodes that haven't set the SM6 pin. Returns true if a fixup was needed.

code: static bool FixFeatureLevelNodesForSM6 ( [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > const & InExpressions )


className: FLayersInterfaces

code: struct FLayersInterfaces

Blends

type: TConstArrayView...


description: Flip the X coordinates of a material's expressions and space them out more

code: static void FlipExpressionPositions ( TConstArrayView< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) >> Expressions, TConstArrayView< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UMaterialExpressionComment](API\Runtime\Engine\Materials\UMaterialExpressionComment) >> Comments, bool bScaleCoords, [UMaterial](API\Runtime\Engine\Materials\UMaterial) * Material )


className: FMaterialCompilationFinished

code: class FMaterialCompilationFinished : public TBaseMulticastDelegate_OneParam< void, UMaterialInterface * >


description: Clears the shader cache and recompiles the shader for rendering.


description: Returns anyUMaterialExpressionCustomOutputexpressions

code: void GetAllCustomOutputExpressions ( [TArray](API\Runtime\Core\Containers\TArray)< class [UMaterialExpressionCustomOutput](API\Runtime\Engine\Materials\UMaterialExpressionCustomOutput) * > & OutCustomOutputs ) const


description: Get all expressions of the requested type, recursing through any function expressions in the material

code: template<typename ExpressionType> void GetAllExpressionsInMaterialAndFunctionsOfType ( [TArray](API\Runtime\Core\Containers\TArray)< ExpressionType * > & OutExpressions ) const


code: void GetAllExpressionsForCustomInterpolators ( [TArray](API\Runtime\Core\Containers\TArray)< class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & OutExpressions ) const


description: Get all expressions of the requested type

code: template<typename ExpressionType> void GetAllExpressionsOfType ( [TArray](API\Runtime\Core\Containers\TArray)< const ExpressionType * > & OutExpressions ) const


description: Returns anyUMaterialExpressionFunctionOutputexpressions

code: void GetAllFunctionOutputExpressions ( [TArray](API\Runtime\Core\Containers\TArray)< class [UMaterialExpressionFunctionOutput](API\Runtime\Engine\Materials\UMaterialExpressionFunctionOutpu-) * > & OutFunctionOutputs ) const


description:
Get all referenced expressions (returns the chains for all properties).
bool true if successful, false if not.

code: virtual bool GetAllReferencedExpressions ( [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & OutExpressions, struct [FStaticParameterSet](API\Runtime\Engine\FStaticParameterSet) * InStaticParameterSet, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) InQuality, [ERHIShadingPath::Type](API\Runtime\RHI\ERHIShadingPath__Type) InShadingPath, const bool bInRecurseIntoMaterialFunctions )


description: Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

code: virtual void GetAssetRegistryTags ( [TArray](API\Runtime\Core\Containers\TArray)< [FAssetRegistryTag](API\Runtime\CoreUObject\UObject\UObject\FAssetRegistryTag) > & OutTags ) const


code: virtual EBlendMode GetBlendMode() const


code: static EBlendMode GetBlendModeFromString ( const TCHAR * InBlendModeStr )


code: virtual bool GetCastDynamicShadowAsMasked() const


description: Return the default material, loading it if necessary

code: static [UMaterial](API\Runtime\Engine\Materials\UMaterial) * GetDefaultMaterial ( EMaterialDomain Domain )


description: Get this material dependencies.

code: virtual void GetDependencies ( [TSet](API\Runtime\Core\Containers\TSet)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > & Dependencies )


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


code: virtual [FDisplacementScaling](API\Runtime\Engine\Engine\FDisplacementScaling) GetDisplacementScaling() const


code: TConstArrayView< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UMaterialExpressionComment](API\Runtime\Engine\Materials\UMaterialExpressionComment) > > GetEditorComments() const


code: virtual [UMaterialEditorOnlyData](API\Runtime\Engine\Materials\UMaterialEditorOnlyData) * GetEditorOnlyData()


code: virtual const [UMaterialEditorOnlyData](API\Runtime\Engine\Materials\UMaterialEditorOnlyData) * GetEditorOnlyData() const


code: const [FMaterialExpressionCollection](API\Runtime\Engine\Materials\FMaterialExpressionCollection) & GetExpressionCollection() const


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


code: static const TCHAR * GetBlendModeString ( EBlendMode InBlendMode )


code: [UMaterialExpressionExecEnd](API\Runtime\Engine\Materials\UMaterialExpressionExecEnd) * GetExpressionExecEnd() const


code: static [UMaterialFunctionInterface](API\Runtime\Engine\Materials\UMaterialFunctionInterface) * GetExpressionFunctionPointer ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


code: bool GetExpressionInputDescription ( EMaterialProperty InProperty, [FMaterialInputDescription](API\Runtime\Engine\Materials\FMaterialInputDescription) & OutDescription )


description:
Get the expression input for the given property
FExpressionInput* A pointer to the expression input of the property specified, or NULL if an invalid property was requested (some properties have been removed from UI, those return NULL).

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


code: static [TOptional](API\Runtime\Core\IO\TOptional)< [FLayersInterfaces](API\Runtime\Engine\Materials\UMaterial\FLayersInterfaces) > GetExpressionLayers ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


code: TConstArrayView< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) > > GetExpressions() const


description:
Get the name of a parameter.
true if the expression is a parameter with a name.

code: static bool GetExpressionParameterName ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression, [FName](API\Runtime\Core\UObject\FName) & OutName )


description:
Get the expression chain for the given property (ie fill in the given array with all expressions in the chain).
bool true if successful, false if not.

code: virtual bool GetExpressionsInPropertyChain ( EMaterialProperty InProperty, [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & OutExpressions, struct [FStaticParameterSet](API\Runtime\Engine\FStaticParameterSet) * InStaticParameterSet, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) InQuality, [ERHIShadingPath::Type](API\Runtime\RHI\ERHIShadingPath__Type) InShadingPath, const bool bInRecurseIntoMaterialFunctions )


description:
Get the sort priority index of the given parameter group
True if successful

code: virtual bool GetGroupSortPriority ( const [FString](API\Runtime\Core\Containers\FString) & InGroupName, int32 & OutSortPriority ) const


description: Returns all the Guids related to this material. For material instances, this includes the parent hierarchy. Used for versioning as parent changes don't update the child instance Guids.

code: virtual void GetLightingGuidChain ( bool bIncludeTextures, [TArray](API\Runtime\Core\Containers\TArray)< [FGuid](API\Runtime\Core\Misc\FGuid) > & OutGuids ) const


description: Get the material which we are instancing. Walks up parent chain and finds the base Material that this is an instance of.

code: virtual const [UMaterial](API\Runtime\Engine\Materials\UMaterial) * GetMaterial() const


code: virtual [UMaterial](API\Runtime\Engine\Materials\UMaterial) * GetMaterial()


description: Returns the material's decal response mode

code: uint32 GetMaterialDecalResponse() const


code: virtual void GetMaterialInheritanceChain ( [FMaterialInheritanceChain](API\Runtime\Engine\Materials\FMaterialInheritanceChain) & OutChain ) const


description: Get the material layers stack

code: virtual bool GetMaterialLayers ( [FMaterialLayersFunctions](API\Runtime\Engine\Materials\FMaterialLayersFunctions) & OutLayers, TMicRecursionGuard RecursionGuard ) const


description: Get the static permutation resource if the instance has one

code: virtual [FMaterialResource](API\Runtime\Engine\FMaterialResource) * GetMaterialResource ( [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) QualityLevel )


code: virtual const [FMaterialResource](API\Runtime\Engine\FMaterialResource) * GetMaterialResource ( [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) QualityLevel ) const


code: static EMaterialShadingModel GetMaterialShadingModelFromString ( const TCHAR * InMaterialShadingModelStr )


description: Helper functions for text output of properties.

code: static const TCHAR * GetMaterialShadingModelString ( EMaterialShadingModel InMaterialShadingModel )


description: Same as above, but can be called concurrently

code: virtual const [UMaterial](API\Runtime\Engine\Materials\UMaterial) * GetMaterial_Concurrent ( TMicRecursionGuard RecursionGuard ) const


code: virtual float GetMaxWorldPositionOffsetDisplacement() const


description: Access to overridable properties of the base material.

code: virtual float GetOpacityMaskClipValue() const


description: Get the associated nanite override material

code: virtual [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetNaniteOverride ( TMicRecursionGuard RecursionGuard ) const


code: virtual bool GetParameterValue ( EMaterialParameterType Type, const [FMemoryImageMaterialParameterInfo](API\Runtime\Engine\FMemoryImageMaterialParameterInf-) & ParameterInfo, [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & OutValue, EMaterialGetParameterValueFlags Flags ) const


description:
Return a pointer to the physical material used by this material instance.
The physical material.

code: virtual [UPhysicalMaterial](API\Runtime\PhysicsCore\PhysicalMaterials\UPhysicalMaterial) * GetPhysicalMaterial() const


description:
Return a pointer to the physical material from mask map at given index.
The physical material.

code: virtual [UPhysicalMaterial](API\Runtime\PhysicsCore\PhysicalMaterials\UPhysicalMaterial) * GetPhysicalMaterialFromMap ( int32 Index ) const


description:
Return a pointer to the physical material mask used by this material instance.
The physical material.

code: virtual [UPhysicalMaterialMask](API\Runtime\Engine\PhysicalMaterials\UPhysicalMaterialMask) * GetPhysicalMaterialMask() const


code: virtual bool GetRefractionSettings ( float & OutBiasValue ) const


description:
Return the array of physical materials associated with the RenderTrace material outputs.
The physical material array.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UPhysicalMaterial](API\Runtime\PhysicsCore\PhysicalMaterials\UPhysicalMaterial) > > GetRenderTracePhysicalMaterialOutputs() const


description: Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific).

code: virtual void GetResourceSizeEx ( [FResourceSizeEx](API\Runtime\Core\ProfilingDebugging\FResourceSizeEx) & CumulativeResourceSize )


description:
only valid in the editor!
The resource to use for rendering this material instance.

code: virtual [FMaterialRenderProxy](API\Runtime\Engine\Materials\FMaterialRenderProxy) * GetRenderProxy() const


description: Gathers a list of shader types sorted by vertex factory types that should be cached for this material. Avoids doing expensive material and shader compilation to acquire this information.

code: virtual void GetShaderTypes ( EShaderPlatform Platform, const [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform, [TArray](API\Runtime\Core\Containers\TArray)< [FDebugShaderTypeInfo](API\Runtime\Engine\FDebugShaderTypeInfo) > & OutShaderInfo )


code: virtual [FMaterialShadingModelField](API\Runtime\Engine\Engine\FMaterialShadingModelField) GetShadingModels() const


code: virtual [USpecularProfile](API\Runtime\Engine\Engine\USpecularProfile) * GetSpecularProfile_Internal ( uint32 Index ) const


code: virtual [USubsurfaceProfile](API\Runtime\Engine\Engine\USubsurfaceProfile) * GetSubsurfaceProfile_Internal() const


description: the value associated with the given usage flag.

code: bool GetUsageByFlag ( const EMaterialUsage Usage ) const


description:
Get all of the textures in the expression chain for the given property (ie fill in the given array with all textures in the chain).
bool true if successful, false if not.

code: virtual bool GetTexturesInPropertyChain ( EMaterialProperty InProperty, [TArray](API\Runtime\Core\Containers\TArray)< [UTexture](API\Runtime\Engine\Engine\UTexture) * > & OutTextures, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > * OutTextureParamNames, struct [FStaticParameterSet](API\Runtime\Engine\FStaticParameterSet) * InStaticParameterSet, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) InQuality )


description: Return the textures used to render this material.

code: virtual void GetUsedTextures ( [TArray](API\Runtime\Core\Containers\TArray)< [UTexture](API\Runtime\Engine\Engine\UTexture) * > & OutTextures, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) QualityLevel, bool bAllQualityLevels, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) FeatureLevel, bool bAllFeatureLevels ) const


description: the name of the given usage flag.

code: [FString](API\Runtime\Core\Containers\FString) GetUsageName ( const EMaterialUsage Usage ) const


description: Return the textures used to render this material and the material indices bound to each. Because material indices can change for each shader, this is limited to a single platform and quality level. An empty array in OutIndices means the index is undefined.

code: virtual void GetUsedTexturesAndIndices ( [TArray](API\Runtime\Core\Containers\TArray)< [UTexture](API\Runtime\Engine\Engine\UTexture) * > & OutTextures, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 > > & OutIndices, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) QualityLevel, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) FeatureLevel ) const


code: bool HasAnisotropyConnected() const


code: bool HasBaseColorConnected() const


description: Checks if the material contains an expression of the requested type, recursing through any function expressions in the material

code: template<typename ExpressionType> bool HasAnyExpressionsInMaterialAndFunctionsOfType() const


code: bool HasDisplacementConnected() const


description: Return whether the provided expression dynamic parameter has duplicates.

code: virtual bool HasDuplicateDynamicParameters ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


description: Return whether the provided expression parameter has duplicates.

code: virtual bool HasDuplicateParameters ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


code: bool HasEmissiveColorConnected() const


description: Checks whether a Material is arranged in the old style, with inputs flowing from right to left

code: bool HasFlippedCoordinates()


code: bool HasRoughnessConnected() const


description: Have we finished loading all the cooked platform data for the target platforms requested in BeginCacheForCookedPlatformData

code: virtual bool IsCachedCookedPlatformDataLoaded ( const [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform )


description: CacheShaders

code: virtual bool IsComplete() const


description: Useful to customize rendering if that case (e.g. hide the object)

code: bool IsCompilingOrHadCompileError ( [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel )


description: Returns true if the material is one of the default materials.

code: bool IsDefaultMaterial() const


code: virtual bool IsDeferredDecal() const


code: virtual bool IsDitheredLODTransition() const


description: Return whether the provided expression node is a dynamic parameter.

code: static bool IsDynamicParameter ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


code: virtual bool IsPostProcessMaterial() const


description: Return whether the provided expression node is a parameter.

code: static bool IsParameter ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


description: Checks to see if an input property should be active, based on the state of the material

code: virtual bool IsPropertyActive ( EMaterialProperty InProperty ) const


description: LikeIsPropertyActive(), but considers any state overriden by DerivedMaterial

code: bool IsPropertyActiveInDerived ( EMaterialProperty InProperty, const [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * DerivedMaterial ) const


code: bool IsPropertyConnected ( EMaterialProperty Property ) const


description: LikeIsPropertyActive(), but should be used in context of editor. For example, there is an optimization that transforms masked materials into opaque materials in certain situations. If this optimization is active, the opacity mask input will no longer be active normally (since blend mode will be reported as opaque), but we still want to be able to connect this input from within the material editor.

code: bool IsPropertyActiveInEditor ( EMaterialProperty InProperty ) const


description: Returns true if the material property is relevant for mobile platforms

code: static bool IsPropertyRelevantForMobile ( EMaterialProperty InProperty )


description: Return true if the property is supported.

code: bool IsPropertySupported ( EMaterialProperty InProperty ) const


code: virtual bool IsShadingModelFromMaterialExpression() const


code: bool IsTextureForceRecompileCacheRessource ( [UTexture](API\Runtime\Engine\Engine\UTexture) * Texture )


code: virtual bool IsThinSurface() const


description:
Called to check if the object is ready for FinishDestroy. This is called after BeginDestroy to check the completion of the potentially asynchronous object cleanup.
True if the object's asynchronous cleanup has completed and it is ready for FinishDestroy to be called.

code: virtual bool IsReadyForFinishDestroy()


code: virtual bool IsTranslucencyWritingFrontLayerTransparency() const


code: virtual bool IsTranslucencyWritingVelocity() const


code: virtual bool IsTranslucencyWritingCustomDepth() const


description: Checks to see if the Usage flag has an annotation marking it as needing to be saved

code: bool IsUsageFlagDirty ( EMaterialUsage Usage )


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


description: Output to the log which materials and textures are used by this material.

code: virtual void LogMaterialsAndTextures ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar, int32 Indent ) const


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 )


description:
Tests to see if this material needs a usage flag update
bool - true if we need to call SetMaterialUsage

code: bool NeedsSetMaterialUsage_Concurrent ( bool & bOutHasUsage, const EMaterialUsage Usage ) const


code: static void NotifyCompilationFinished ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


code: virtual uint32 NumSpecularProfile_Internal() const


description: Overrides the default value of the given parameter (transient). This is used to implement realtime previewing of parameter defaults. Handles updating dependent MI's and cached uniform expressions.

code: virtual void OverrideNumericParameterDefault ( EMaterialParameterType Type, const FHashedMaterialParameterInfo & ParameterInfo, const [UE::Shader::FValue](API\Runtime\Engine\Shader\FValue) & Value, bool bOverride, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) FeatureLevel )


description: Override a specific texture (transient)

code: virtual void OverrideTexture ( const [UTexture](API\Runtime\Engine\Engine\UTexture) * InTextureToOverride, [UTexture](API\Runtime\Engine\Engine\UTexture) * OverrideTexture, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel )


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 after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


code: void PostEditChangePropertyInternal ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent, const [EPostEditChangeEffectOnShaders](API\Runtime\Engine\Materials\UMaterial\EPostEditChangeEffectOnShaders) EffectOnShaders )


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 FGraphEventArray PrecachePSOs ( const FPSOPrecacheVertexFactoryDataList & VertexFactoryDataList, const [FPSOPrecacheParams](API\Runtime\Engine\FPSOPrecacheParams) & PreCacheParams, EPSOPrecachePriority Priority, [TArray](API\Runtime\Core\Containers\TArray)< FMaterialPSOPrecacheRequestID > & OutMaterialPSORequestIDs )


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: Deprecated* Use version that takesFObjectPreSaveContextinstead.

code: virtual PRAGMA_DISABLE_DEPRECATION_WARNINGSvoid PreSave ( const class [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform )


description: Objects created from within PreSave will NOT have PreSave called on them!!!

code: virtual void PreSave ( [FObjectPreSaveContext](API\Runtime\CoreUObject\UObject\FObjectPreSaveContext) SaveContext )


description: A parameter with duplicates has to update its peers so that they all have the same value. If this step isn't performed then the expression nodes will not accurately display the final compiled material.

code: virtual void PropagateExpressionParameterChanges ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Parameter )


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 void PropagateExpressionParameterChanges ( const [FName](API\Runtime\Core\UObject\FName) & ParameterName, const [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & Meta )


description: Collect all material expressions fomr this material and all its functions and figure out which possible shading models exist in this material

code: void RebuildShadingModelField()


description: Re-caches uniform expressions for this material interface Set bRecreateUniformBuffer to true if uniform buffer layout will change (e.g.FMaterialis being recompiled). In that case calling needs to useFMaterialUpdateContextto recreate the rendering state of primitives using this material.

code: virtual void RecacheUniformExpressions ( bool bRecreateUniformBuffer ) const


description:
Recursively retrieve the expressions contained in the chain of the given expression.
bool true if successful, false if not.

code: virtual bool RecursiveGetExpressionChain ( [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * InExpression, [TArray](API\Runtime\Core\Containers\TArray)< [FExpressionInput](API\Runtime\Engine\FExpressionInput) * > & InOutProcessedInputs, [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & OutExpressions, struct [FStaticParameterSet](API\Runtime\Engine\FStaticParameterSet) * InStaticParameterSet, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel, [EMaterialQualityLevel::Type](API\Runtime\Engine\EMaterialQualityLevel__Type) InQuality, [ERHIShadingPath::Type](API\Runtime\RHI\ERHIShadingPath__Type) InShadingPath, EShaderFrequency InShaderFrequency, EMaterialProperty InProperty, const bool bInRecurseIntoMaterialFunctions )


description: Recursively update the bRealtimePreview for each expression based on whether it is connected to something that is time-varying. This is determined based on the result ofUMaterialExpression::NeedsRealtimePreview();

code: void RecursiveUpdateRealtimePreview ( [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * InExpression, [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & InOutExpressionsToProcess )


description: Releases rendering resources used by this material. This should only be called directly if the material will not be deleted through the GC system afterward. FlushRenderingCommands() must have been called before this.

code: void ReleaseResources()


description: Removes an expression node that represents a parameter from the list of material parameters.

code: virtual bool RemoveExpressionParameter ( [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


description: Recreates FShaders forFMaterialShaderMap's from the serialized data. Shader maps may not be complete after this due to changes in the shader keys.

code: static void RestoreMaterialShadersFromMemory ( const [TMap](API\Runtime\Core\Containers\TMap)< class [FMaterialShaderMap](API\Runtime\Engine\FMaterialShaderMap) *, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TArray](API\Runtime\Core\Containers\TArray)< uint8 > > > & ShaderMapToSerializedShaderData )


code: virtual void SaveShaderStableKeysInner ( const class [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TP, const struct [FStableShaderKeyAndValue](API\Runtime\RenderCore\FStableShaderKeyAndValue) & SaveKeyVal )


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

code: virtual void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: bool SetFontParameterValueEditorOnly ( [FName](API\Runtime\Core\UObject\FName) ParameterName, class [UFont](API\Runtime\Engine\Engine\UFont) * InFontValue, int32 InFontPage )


description:
Set the given usage flag.
bool - true if the material can be used for rendering with the given type.

code: bool SetMaterialUsage ( bool & bNeedsRecompile, const EMaterialUsage Usage, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * MaterialInstance )


code: bool SetParameterValueEditorOnly ( const [FName](API\Runtime\Core\UObject\FName) & ParameterName, const [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & Meta )


description: Set the array of physical materials associated with the RenderTrace material outputs.

code: void SetRenderTracePhysicalMaterialOutputs ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UPhysicalMaterial](API\Runtime\PhysicsCore\PhysicalMaterials\UPhysicalMaterial) >> PhysicalMaterials )


code: bool SetRuntimeVirtualTextureParameterValueEditorOnly ( [FName](API\Runtime\Core\UObject\FName) ParameterName, class [URuntimeVirtualTexture](API\Runtime\Engine\VT\URuntimeVirtualTexture) * InValue )


code: void SetShadingModel ( EMaterialShadingModel NewModel )


code: bool SetSparseVolumeTextureParameterValueEditorOnly ( [FName](API\Runtime\Core\UObject\FName) ParameterName, class [USparseVolumeTexture](API\Runtime\Engine\SparseVolumeTexture\USparseVolumeTexture) * InValue )


code: bool SetStaticComponentMaskParameterValueEditorOnly ( [FName](API\Runtime\Core\UObject\FName) ParameterName, bool R, bool G, bool B, bool A, [FGuid](API\Runtime\Core\Misc\FGuid) OutExpressionGuid )


code: bool SetStaticSwitchParameterValueEditorOnly ( [FName](API\Runtime\Core\UObject\FName) ParameterName, bool OutValue, [FGuid](API\Runtime\Core\Misc\FGuid) OutExpressionGuid )


code: bool SetTextureParameterValueEditorOnly ( [FName](API\Runtime\Core\UObject\FName) ParameterName, class [UTexture](API\Runtime\Engine\Engine\UTexture) * InValue )


code: bool SetVectorParameterValueEditorOnly ( [FName](API\Runtime\Core\UObject\FName) ParameterName, [FLinearColor](API\Runtime\Core\Math\FLinearColor) InValue )


code: virtual bool ShouldAlwaysEvaluateWorldPositionOffset() const


code: void SaveShaderStableKeys ( const class [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TP )


description: True if this Material Interface should force a plane preview

code: virtual bool ShouldForcePlanePreview()


code: bool SetScalarParameterValueEditorOnly ( [FName](API\Runtime\Core\UObject\FName) ParameterName, float InValue )


description: Iterate through all of the expression nodes and fix up changed properties on matching dynamic parameters when a change occurs.

code: virtual void UpdateExpressionDynamicParameters ( const [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


description: Remove the expression from the editor parameters list (if it exists) and then re-adds it.

code: virtual void UpdateExpressionParameterName ( [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * Expression )


description:
Check if the textures have changed since the last time the material was serialized for Lightmass... Update the lists while in here. NOTE: This will mark the package dirty if they have changed.
bool true if the textures have changed. false if they have not.


description: Recompute the ddc cache key and reload the material in case the key is not the same. It will also make sure lightmass texture reference are up to date


description: Go through every material, flush the specified types and re-initialize the material's shader maps.

code: static void UpdateMaterialShaders ( [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderType](API\Runtime\RenderCore\FShaderType) * > & ShaderTypesToFlush, [TArray](API\Runtime\Core\Containers\TArray)< const [FShaderPipelineType](API\Runtime\RenderCore\FShaderPipelineType) * > & ShaderPipelineTypesToFlush, [TArray](API\Runtime\Core\Containers\TArray)< const [FVertexFactoryType](API\Runtime\RenderCore\FVertexFactoryType) * > & VFTypesToFlush, EShaderPlatform ShaderPlatform )


code: virtual bool WritesToRuntimeVirtualTexture() const


code: void UpdateTransientExpressionData()


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


className: UMaterial

description: Warning: Creating new materials directly increases shader compile times! Consider creating a Material Instance off of an existing material instead.

code: class UMaterial : public [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface)

AllowTranslucentCustomDepthWrites

type: uint8:  1

description: Allows a translucent material to be used with custom depth writing by compiling additional shaders.

bAllowDevelopmentShaderCompile

description: If true the compilation environment will be changed to remove the global COMPILE_SHADERS_FOR_DEVELOPMENT flag.

bAllowFrontLayerTranslucency

description: Allows a translucent material to be used with Front Layer Translucency by compiling additional shaders.

bAllowNegativeEmissiveColor

description: Whether the material should allow outputting negative emissive color values.

bAlwaysEvaluateWorldPositionOffset

description: Forces World Position Offset to always be evaluated for this material, even if the primitive it's applied to has disabled it via "Evaluate World Position Offset" or "World Position Offset Disable Distance".

bApplyCloudFogging

description: When true, translucent materials receive cloud contribution as part of the fog evaluation, per vertex or per pixel according to the other selected options.

bAutomaticallySetUsageInEditor

description: Whether to automatically set usage flags based on what the material is applied to in the editor.

bCanMaskedBeAssumedOpaque

description: True if this Material can be assumed Opaque when set to masked.

bCastDynamicShadowAsMasked

description: Whether the material should cast shadows as masked even though it has a translucent blend mode.

bCastRayTracedShadows

description: When true, the material casts ray tracing shadows.

bComputeFogPerPixel

description: When true, translucent materials have fog computed for every pixel, which costs more but fixes artifacts due to low tessellation.

bContactShadows

description: Contact shadows on translucency

bDisableDepthTest

description: Whether to draw on top of opaque pixels even if behind them.

bEnableMobileSeparateTranslucency

description: Indicates that the translucent material should not be affected by bloom or DOF.

bEnableResponsiveAA

description: Indicates that the material should be rendered using responsive anti-aliasing.

bEnableStencilTest

description: Selectively execute post process material only for pixels that pass the stencil test against the Custom Depth/Stencil buffer.

bForwardBlendsSkyLightCubemaps

description: Enables blending of sky light cubemap textures.

type: uint32:  1

description: Forward (including mobile) renderer: use preintegrated GF lut for simple IBL, but will use one more sampler.

bFullyRough

description: Forces the material to be completely rough. Saves a number of instructions and one sampler.

bGenerateSphericalParticleNormals

description: Whether to generate spherical normals for particles that use this material.

bIsBlendable

description: Allows blendability to be turned off, only used if domain is PostProcess

bIsFunctionPreviewMaterial

description: True if Material is the function preview material used in the material instance editor.

bIsMaterialEditorStatsMaterial

description: True if this is a special material used for stats by the material editor.

bIsPreviewMaterial

description: True if Material is the preview material used in the material editor.

bIsSky

description: Unlit and Opaque materials can be used as sky material on a sky dome mesh.

bIsThinSurface

description: Indicates that the material should be rendered as a thin surface (i.e., without inner volume).

BlendableLocation

type: TEnumAsByte< EB...

description: Where the node is inserted in the (post processing) graph, only used if domain is PostProcess

BlendableOutputAlpha

description: If this is enabled, the blendable will output alpha

BlendablePriority

description: If multiple nodes with the same type are inserted at the same point, this defined order and if they get combined, only used if domain is PostProcess

BlendMode

description: Determines how the material's color is blended with background colors.

bMobileEnableHighQualityBRDF

description: Use the high quality brdf functions on mobile to get better visual effects but adds GPU cost.

bNormalCurvatureToRoughness

description: Reduce roughness based on screen space normal changes.

bOutputTranslucentVelocity

description: When true, translucent materials will output motion vectors and write to depth buffer in velocity pass.

bRootNodeOverridesDefaultDistortion

description: Indicates that the material do not use the material physically based refraction (e.g. IOR from reflectivity F0), but overrides it for artistic purposes.

bScreenSpaceReflections

description: SSR on translucency

bTangentSpaceNormal

description: Whether the material takes a tangent space normal or a world space normal as input.

bUseAlphaToCoverage

description: Use alpha to coverage for masked material on mobile, make sure MSAA is enabled as well.

bUsedAsSpecialEngineMaterial

description: This is a special usage flag that allows a material to be assignable to any primitive type.

bUsedWithBeamTrails

description: Indicates that the material and its instances can be used with beam trails This will result in the shaders required to support beam trails being compiled which will increase shader compile time and memory usage.

bUsedWithClothing

description: Indicates that the material and its instances can be used with clothing This will result in the shaders required to support clothing being compiled which will increase shader compile time and memory usage.

bUsedWithEditorCompositing

description: Indicates that the material and its instances can be used with editor compositing This will result in the shaders required to support editor compositing being compiled which will increase shader compile time and memory usage.

bUsedWithGeometryCollections

description: Indicates that the material and its instances can be use with geometry collections This will result in the shaders required to support geometry collections being compiled which will increase shader compile time and memory usage.

bUsedWithHairStrands

description: Indicates that the material and its instances can be use with hair strands This will result in the shaders required to support hair strands geometries being compiled which will increase shader compile time and memory usage.

bUsedWithHeterogeneousVolumes

description: Indicates that the material and its instances with heterogeneous volumes.

bUsedWithInstancedStaticMeshes

description: Indicates that the material and its instances can be used with instanced static meshes This will result in the shaders required to support instanced static meshes being compiled which will increase shader compile time and memory usage.

bUsedWithLidarPointCloud

description: Indicates that the material and its instances can be use with LiDAR Point Clouds This will result in the shaders required to support LiDAR Point Cloud geometries being compiled which will increase shader compile time and memory usage.

bUsedWithMeshParticles

description: Indicates that the material and its instances can be used with mesh particles This will result in the shaders required to support mesh particles being compiled which will increase shader compile time and memory usage.

bUsedWithMorphTargets

description: Indicates that the material and its instances can be used with morph targets This will result in the shaders required to support morph targets being compiled which will increase shader compile time and memory usage.

bUsedWithNanite

description: Indicates that the material and its instances can be used with Nanite meshes.

bUsedWithNiagaraSprites

description: Indicates that the material and its instances can be used with Niagara sprites (meshes and ribbons, respectively) This will result in the shaders required to support Niagara sprites being compiled which will increase shader compile time and memory usage.

bUsedWithParticleSprites

description: Indicates that the material and its instances can be used with particle sprites This will result in the shaders required to support particle sprites being compiled which will increase shader compile time and memory usage.

bUsedWithSkeletalMesh

description: Indicates that the material and its instances can be used with skeletal meshes.

bUsedWithSplineMeshes

description: Indicates that the material and its instances can be used with spline meshes This will result in the shaders required to support spline meshes being compiled which will increase shader compile time and memory usage.

bUsedWithStaticLighting

description: Indicates that the material and its instances can be used with static lighting This will result in the shaders required to support static lighting being compiled which will increase shader compile time and memory usage.

bUsedWithVirtualHeightfieldMesh

description: Indicates that the material and its instances can be used with Virtual Heightfield Mesh.

bUsedWithVolumetricCloud

description: Indicates that the material and its instances with volumetric cloud.

bUsedWithWater

description: Indicates that the material and its instances can be use with water This will result in the shaders required to support water meshes being compiled which will increase shader compile time and memory usage.

bUseEmissiveForDynamicAreaLighting

description: If enabled, the material's emissive colour is injected into the LightPropagationVolume

bUseHQForwardReflections

description: Forward renderer: enables multiple parallax-corrected reflection captures that blend together.

bUseLightmapDirectionality

description: Use lightmap directionality and per pixel normals.

bUseMaterialAttributes

description: When true, the material attributes pin is used instead of the regular pins.

bUsePlanarForwardReflections

description: Enables planar reflection when using the forward renderer or mobile.

bUsesDistortion

description: Indicates that the material and its instances can be used with distortion This will result in the shaders required to support distortion being compiled which will increase shader compile time and memory usage.

bUseTranslucencyVertexFog

description: When true, translucent materials are fogged. Defaults to true.

bWriteOnlyAlpha

description: Whether the transluency pass should write its alpha, and only the alpha, into the framebuffer

DecalBlendMode

type: TEnumAsByte< ED...

DefaultMaterialInstance

type: FDefaultMateria...

description: FMaterialRenderProxyderivative that represent this material to the renderer, when the renderer needs to fetch parameter values.

DisplacementScaling

type: FDisplacementSc...

DitheredLODTransition

description: Whether meshes rendered with the material should support dithered LOD transitions.

DitherOpacityMask

description: Dither opacity mask.

EditorParameters

type: TMap<FName,TA...

description: Used to detect duplicate parameters. Does not contain parameters in referenced functions!

FloatPrecisionMode

type: TEnumAsByte< EM...

description: How to use full (highp) precision in the pixel shader.

MaterialDecalResponse

description: Defines how the material reacts on DBuffer decals (Affects look, performance and texture/sample usage).

MaterialDomain

description: The domain that the material's attributes will be evaluated in.

MaterialGraph

description: EdGraph based representation of the Material

MaxWorldPositionOffsetDisplacement

type: float

description: Specifies the max world position offset of the material.

NaniteOverrideMaterial

type: FMaterialOverri...

description: An override material which will be used instead of this one when rendering with Nanite.

NumCustomizedUVs

description: Number of customized UV inputs to display.

OpacityMaskClipValue

description: If BlendMode is BLEND_Masked, the surface is not rendered where OpacityMask < OpacityMaskClipValue.

PhysicalMaterialMap

description: Physical material mask map to use for this graphics material. Used for sounds, effects etc.

PhysMaterial

description: Physical material to use for this graphics material. Used for sounds, effects etc.

PhysMaterialMask

description: Physical material mask to use for this graphics material. Used for sounds, effects etc.

RefractionCoverageMode

type: TEnumAsByte< ER...

description: Controls whether refraction takes into account the material surface coverage, or not.

RefractionDepthBias

description: This is the refraction depth bias, larger values offset distortion to prevent closer objects from rendering into the distorted surface at acute viewing angles but increases the disconnect between surface and where the refraction starts.

RefractionMethod

description: Controls how the Refraction input is interpreted and how the refraction offset into scene color is computed for this material.

RenderTracePhysicalMaterialOutputs

type: TArray<TObject...

ShadingRate

description: Select what shading rate to apply, on platforms that support variable rate shading.

StateId

description: Guid that uniquely identifies this material.

StrataCompilationConfig

type: FStrataCompilat...

description: Not a UPROPERTY, used to propagate editor only strata material simplification options for preview.

description: Useful for artificially increasing the influence of the normal on the lighting result for translucency.

TranslucencyLightingMode

type: TEnumAsByte< ET...

description: Sets the lighting mode that will be used on this material if it is translucent.

TranslucencyPass

description: Specifies the separate pass in which to render translucency.

TranslucentBackscatteringExponent

description: Controls how diffuse the material's backscattering is when using the MSM_Subsurface shading model.

TranslucentMultipleScatteringExtinction

description: Colored extinction factor used to approximate multiple scattering in dense volumes.

TranslucentSelfShadowDensityScale

description: Scale used to make translucent self-shadowing more or less opaque than the material's shadow on other objects.

TranslucentSelfShadowSecondDensityScale

description: Used to make a second self shadow gradient, to add interesting shading in the shadow of the first.

TranslucentSelfShadowSecondOpacity

description: Controls the strength of the second self shadow gradient.

TranslucentShadowDensityScale

description: Scale used to make translucent shadows more or less opaque than the material's actual opacity.

TranslucentShadowStartOffset

description: Local space distance to bias the translucent shadow.

TwoSided

description: Indicates that the material should be rendered without backface culling and the normal should be flipped for backfaces.

UsageFlagWarnings

description: True if we have printed a warning about material usage for a given usage flag.

Wireframe

description: Enables a wireframe view of the mesh the material is applied to.


className: UMaterialEditorOnlyData

code: class UMaterialEditorOnlyData : public [UMaterialInterfaceEditorOnlyData](API\Runtime\Engine\Materials\UMaterialInterfaceEditorOnlyData)

AmbientOcclusion

type: FScalarMaterial...

description: Output ambient occlusion to the GBuffer

BaseColor

type: FColorMaterialI...

description: Reflection.

CustomizedUVs

description: These inputs are evaluated in the vertex shader and allow artists to do arbitrary vertex shader operations and access them in the pixel shader.

ExpressionCollection

type: FMaterialExpres...

FrontMaterial

type: FStrataMaterial...

MaterialAttributes

type: FMaterialAttrib...

Normal

type: FVectorMaterial...

Opacity

description: Transmission.

ParameterGroupData

type: TArray<FParame...

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

Refraction

description: Output refraction index for translucent rendering Air:1.0 Water:1.333 Ice:1.3 Glass:~1.6 Diamond:2.42

ShadingModelFromMaterialExpression

type: FShadingModelMa...

SubsurfaceColor

description: Inner material color, only used for ShadingModel=Subsurface

WorldPositionOffset

description: Adds to world position in the vertex shader.


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: 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 uint32 GetInputType ( int32 InputIndex )


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


code: [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > GetNameOptions() const


code: virtual uint32 GetOutputType ( int32 OutputIndex )


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: 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: UMaterialExpressionDataDrivenShaderPlatformInfoSwitch ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


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

bContainsInvalidProperty

type: uint32:  1

DDSPIPropertyNames

type: TArray<FDataDr...

InputFalse

type: FExpressionInpu...


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 [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


code: virtual bool GetParameterValue ( [FMaterialParameterMetadata](API\Runtime\Engine\FMaterialParameterMetadata) & OutMeta ) 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: 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 void SetParameterName ( const [FName](API\Runtime\Core\UObject\FName) & Name )


description: If this is the named parameter from this material expression, then set its value.

code: bool SetParameterValue ( [FName](API\Runtime\Core\UObject\FName) InParameterName, [URuntimeVirtualTexture](API\Runtime\Engine\VT\URuntimeVirtualTexture) * InValue, EMaterialExpressionSetParameterValueFlags Flags )


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


code: virtual void ValidateParameterName ( const bool bAllowDuplicateName )


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


ExpressionGUID

type: FGuid

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

Group

type: FName

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 this 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


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


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


code: virtual uint32 GetOutputType ( int32 OutputIndex )


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


description: Can this node be renamed?

code: virtual bool CanRenameNode() const


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


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


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


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


code: virtual bool HasAParameterName() const


code: virtual bool MatchesSearchQuery ( const TCHAR * SearchQuery )


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


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


code: bool SetParameterValue ( [FName](API\Runtime\Core\UObject\FName) InParameterName, [USparseVolumeTexture](API\Runtime\Engine\SparseVolumeTexture\USparseVolumeTexture) * InValue, EMaterialExpressionSetParameterValueFlags Flags )


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


code: virtual void ValidateParameterName ( const bool bAllowDuplicateName )


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


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: 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 )


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 GetInputType ( int32 InputIndex )


code: virtual uint32 GetOutputType ( int32 OutputIndex )


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


BaseRoughness

description: The base roughness of the surface. It represented the smoothest part of the reflection.

Haziness

description: Haziness represent the amount of irregularity of the surface.


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: UMaterialExpressionVolumetricCloudEmptySpaceSkippingInput ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


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


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 enable multiple outputs.

code: virtual int32 GetNumOutputs() const


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


description: USed to help the cloud system to fast skip empty space areas when ray marching.

ContainsMatter

description: ContainsMatter must be 1 when the volume is occupied by any matter.


description:
Called by the editor to query whether a property of this object is allowed to be modified. The property editor uses this to disable controls for properties that should not be changed. When overriding this function you should always call the parent implementation first.
true if the property can be modified in the editor, otherwise false

code: virtual bool CanEditChange ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty ) const


description: If true, discards the output index when caching this expression which allows more cases to re-use the output instead of adding a separate instruction

code: virtual bool CanIgnoreOutputIndex()


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

code: virtual bool CanReferenceTexture() const


description: Can this node be renamed?

code: virtual bool CanRenameNode() const


code: virtual bool CanUserDeleteExpression() const


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 )


className: CompileExecutionOutputIndex

code: static constexpr int32 CompileExecutionOutputIndex = -2;


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


code: virtual int32 CompilerError ( class [FMaterialCompiler](API\Runtime\Engine\FMaterialCompiler) * Compiler, const TCHAR * pcMessage )


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: Connects the specified output to the passed material for previewing.

code: void ConnectToPreviewMaterial ( [UMaterial](API\Runtime\Engine\Materials\UMaterial) * InMaterial, int32 OutputIndex )


description: Checks whether any inputs to this expression create a loop

code: bool ContainsInputLoop ( const bool bStopOnFunctionCall )


description: This overload accepts the set of visited expressions to avoid visiting them again when checking at once whether multiple expressions contain a loop.

code: bool ContainsInputLoop ( [TSet](API\Runtime\Core\Containers\TSet)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & VisitedExpressions, const bool bStopOnFunctionCall )


description: Copy the SrcExpressions into the specified material, preserving internal references. New material expressions are created within the specified material.

code: static void CopyMaterialExpressions ( const [TArray](API\Runtime\Core\Containers\TArray)< class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & SrcExpressions, const [TArray](API\Runtime\Core\Containers\TArray)< class [UMaterialExpressionComment](API\Runtime\Engine\Materials\UMaterialExpressionComment) * > & SrcExpressionComments, class [UMaterial](API\Runtime\Engine\Materials\UMaterial) * Material, class [UMaterialFunction](API\Runtime\Engine\Materials\UMaterialFunction) * Function, [TArray](API\Runtime\Core\Containers\TArray)< class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & OutNewExpressions, [TArray](API\Runtime\Core\Containers\TArray)< class [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & OutNewComments )


code: bool Contains &40; const UMaterialExpression &42; OtherExpression &41; const


code: FContainsInputLoopInternalExpressionStack &40; const UMaterialExpression &42; Expression, const FContainsInputLoopInternalExpressionStack &42; Previous &41;


Expression

type: constUMaterial...

Previous

type: constFContains...


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: 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 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:
Recursively gets a list of all expressions that are connected to this Checks for repeats so that it can't end up in an infinite loop
Whether a repeat was found while getting expressions

code: bool GetAllInputExpressions ( [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & InputExpressions )


code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetAssetOwner() 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: virtual [FText](API\Runtime\Core\Internationalization\FText) GetCreationDescription() const


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


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

code: virtual [FString](API\Runtime\Core\Containers\FString) GetDescription() 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 void GetExecOutputs ( [TArray](API\Runtime\Core\Containers\TArray)< [FExpressionExecOutputEntry](API\Runtime\Engine\Materials\FExpressionExecOutputEntry) > & Outputs )


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 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 [FExpressionInput](API\Runtime\Engine\FExpressionInput) * GetInput ( int32 InputIndex )


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


code: virtual [FString](API\Runtime\Core\Containers\FString) GetInputPinDefaultValue ( int32 PinIndex )


description: Find the property that is associated with the input pin.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > GetInputPinProperty ( int32 PinIndex )


code: virtual [FName](API\Runtime\Core\UObject\FName) GetInputPinSubCategory ( int32 PinIndex )


code: virtual [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetInputPinSubCategoryObject ( int32 PinIndex )


description: Deprecated* UseGetInputsView()instead.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FExpressionInput](API\Runtime\Engine\FExpressionInput) * > GetInputs()


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 )


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

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


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

code: virtual int GetLabelPadding()


code: virtual void GetLandscapeLayerNames ( [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & OutLayers ) const


description: Return the material expression guid.

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


description: Get the outputs supported by this expression.

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


code: virtual uint32 GetOutputType ( int32 OutputIndex )


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

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


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


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


description: text overlaid over the preview in the material editor

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


code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > GetPropertyInputs() 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


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

code: virtual int32 GetWidth() const


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

code: virtual bool HasAParameterName() const


code: virtual bool HasClassAndNameCollision ( [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * OtherExpression ) const


code: virtual bool HasConnectedOutputs() const


code: static void InitializeNumExecutionInputs ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > Expressions )


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 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:
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:
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: bool IsUsingNewHLSLGenerator() const


description: whether the expression preview needs realtime update

code: virtual bool NeedsRealtimePreview()


code: virtual void PinDefaultValueChanged ( int32 PinIndex, const [FString](API\Runtime\Core\Containers\FString) & DefaultValue )


description: Called after a node copy, once the Material and Function properties are set correctly and that all new expressions are added to Material->Expressions

code: virtual void PostCopyNode ( const [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialExpression](API\Runtime\Engine\Materials\UMaterialExpression) * > & CopiedExpressions )


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: 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 the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


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: 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: 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: virtual void SetParameterName ( const [FName](API\Runtime\Core\UObject\FName) & Name )