UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialKeyIncludeEnum.h File Reference
#include "CoreTypes.h"

Go to the source code of this file.

Enumerations

enum class  EMaterialKeyInclude : uint32 {
  ShaderDependencies = 0x1 , SourceAndMaterialState = 0x2 , Globals = 0x4 , UObjectData = 0x8 ,
  All = ShaderDependencies | SourceAndMaterialState | Globals | UObjectData
}
 

Enumeration Type Documentation

◆ EMaterialKeyInclude

Categories of fields which should be included in a ShaderMapId or in the output of a FMaterialKeyGeneratorContext. GetShaderMapId, and code recording or emitting fields to a FMaterialKeyGeneratorContext, calls HasAllFlags for the flags relevant to a given field before writing it to the ShaderMapId's ShaderTypes or to the FMaterialKeyGeneratorContext's RecordAndEmit functions.

Enumerator
ShaderDependencies 

shadertype, shaderpipelinetype, vertexfactortype dependencies are included in the output

SourceAndMaterialState 

shader hlsl file hashes are included in the output

Globals 

Global data that applies to many or all Materials is included in the output. For calculating the ShaderMap Id, this includes The ShaderTypes, ShaderPipelineTypes, and VertexFactoryTypes in the Material's FMaterialShaderMapLayout. For the output of FMaterialKeyGeneratorContext this includes globals (cvars, project settings) that impact The Material's FMaterialShaderMapLayout via GetShaderTypeLayoutHash. The ShaderPlatform being emitted via ShaderMapAppendKey. All Materials via FMaterialAttributeDefinitionMap::AppendDDCKey.

UObjectData 

data stored in UObject exports in .uasset and .umap files is included in the output

All