/Engine/Source/Runtime/RenderCore/Public/ShaderParameterMetadata.h
EUseCase::UniformBufferare listed in the globalGetStructList()that will be visited at engine startup to know all the global uniform buffer that can generate code in /Engine/Generated/GeneratedUniformBuffers.ush. Their initialization will be finished during the this list traversal. bForceCompleteInitialization force to ignore the list forEUseCase::UniformBufferand instead handle it like a standalone non globally listedEUseCase::ShaderParameterStruct. This is required for the ShaderCompileWorker to deserialize them without side global effects.
FShaderParametersMetadata ( [EUseCase](API\Runtime\RenderCore\FShaderParametersMetadata\EUseCase) UseCase, EUniformBufferBindingFlags InBindingFlags, const TCHAR * InLayoutName, const TCHAR * InStructTypeName, const TCHAR * InShaderVariableName, const TCHAR * InStaticSlotName, const ANSICHAR * InFileName, const int32 InFileLine, uint32 InSize, const [TArray](API\Runtime\Core\Containers\TArray)< [FMember](API\Runtime\RenderCore\FShaderParametersMetadata\FMember) > & InMembers, bool bForceCompleteInitialization, [FRHIUniformBufferLayoutInitializer](API\Runtime\RHI\FRHIUniformBufferLayoutInitializ-) * OutLayoutInitializer, uint32 InUsageFlags )