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

#include <ShaderCompiler.h>

Public Member Functions

 FShaderRecompileData ()
 
ENGINE_API FShaderRecompileData (const FString &InPlatformName, TArray< FString > *OutModifiedFiles, TArray< uint8 > *OutMeshMaterialMaps, TArray< uint8 > *OutGlobalShaderMap)
 
ENGINE_API FShaderRecompileData (const FString &InPlatformName, EShaderPlatform InShaderPlatform, ODSCRecompileCommand InCommandType, TArray< FString > *OutModifiedFiles, TArray< uint8 > *OutMeshMaterialMaps, TArray< uint8 > *OutGlobalShaderMap)
 

Public Attributes

FString PlatformName
 
EShaderPlatform ShaderPlatform = SP_NumPlatforms
 
ERHIFeatureLevel::Type FeatureLevel = ERHIFeatureLevel::SM5
 
EMaterialQualityLevel::Type QualityLevel = EMaterialQualityLevel::High
 
FShaderCompilerFlags ExtraCompilerFlags = FShaderCompilerFlags()
 
TArray< FString > * ModifiedFiles = nullptr
 
TArray< uint8 > * MeshMaterialMaps = nullptr
 
TArray< FString > MaterialsToLoad
 
FString ShaderTypesToLoad
 
ODSCRecompileCommand CommandType = ODSCRecompileCommand::Changed
 
TArray< uint8 > * GlobalShaderMap = nullptr
 
TArray< FODSCRequestPayloadShadersToRecompile
 
TArray< TStrongObjectPtr< UMaterialInterface > > * LoadedMaterialsToRecompile = nullptr
 

Friends

ENGINE_API friend FArchiveoperator<< (FArchive &Ar, FShaderRecompileData &Elem)
 

Constructor & Destructor Documentation

◆ FShaderRecompileData() [1/3]

FShaderRecompileData::FShaderRecompileData ( )
inline

Default constructor.

◆ FShaderRecompileData() [2/3]

ENGINE_API FShaderRecompileData::FShaderRecompileData ( const FString &  InPlatformName,
TArray< FString > *  OutModifiedFiles,
TArray< uint8 > *  OutMeshMaterialMaps,
TArray< uint8 > *  OutGlobalShaderMap 
)

Recompile all the changed shaders for the current platform.

◆ FShaderRecompileData() [3/3]

ENGINE_API FShaderRecompileData::FShaderRecompileData ( const FString &  InPlatformName,
EShaderPlatform  InShaderPlatform,
ODSCRecompileCommand  InCommandType,
TArray< FString > *  OutModifiedFiles,
TArray< uint8 > *  OutMeshMaterialMaps,
TArray< uint8 > *  OutGlobalShaderMap 
)

For recompiling just global shaders.

Friends And Related Symbol Documentation

◆ operator<<

ENGINE_API friend FArchive & operator<< ( FArchive Ar,
FShaderRecompileData Elem 
)
friend

Member Data Documentation

◆ CommandType

ODSCRecompileCommand FShaderRecompileData::CommandType = ODSCRecompileCommand::Changed

What type of shaders to recompile. All, Changed, Global, or Material?

◆ ExtraCompilerFlags

FShaderCompilerFlags FShaderRecompileData::ExtraCompilerFlags = FShaderCompilerFlags()

Additional compiler flags for debugging, e.g. for ODSC shader requests to skip optimizations for individual shaders or enable bindless during development.

◆ FeatureLevel

ERHIFeatureLevel::Type FShaderRecompileData::FeatureLevel = ERHIFeatureLevel::SM5

◆ GlobalShaderMap

TArray<uint8>* FShaderRecompileData::GlobalShaderMap = nullptr

Global shader map, returned to the caller.

◆ LoadedMaterialsToRecompile

TArray<TStrongObjectPtr<UMaterialInterface> >* FShaderRecompileData::LoadedMaterialsToRecompile = nullptr

Optional Array of the loaded materials

◆ MaterialsToLoad

TArray<FString> FShaderRecompileData::MaterialsToLoad

Materials to load.

◆ MeshMaterialMaps

TArray<uint8>* FShaderRecompileData::MeshMaterialMaps = nullptr

Mesh materials, returned to the caller.

◆ ModifiedFiles

TArray<FString>* FShaderRecompileData::ModifiedFiles = nullptr

All filenames that have been changed during the shader compilation.

◆ PlatformName

FString FShaderRecompileData::PlatformName

The platform name to compile for.

◆ QualityLevel

EMaterialQualityLevel::Type FShaderRecompileData::QualityLevel = EMaterialQualityLevel::High

◆ ShaderPlatform

EShaderPlatform FShaderRecompileData::ShaderPlatform = SP_NumPlatforms

Shader platform

◆ ShadersToRecompile

TArray<FODSCRequestPayload> FShaderRecompileData::ShadersToRecompile

On-demand shader compiler payload.

◆ ShaderTypesToLoad

FString FShaderRecompileData::ShaderTypesToLoad

The names of shader type file names to compile shaders for.


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