/Engine/Source/Runtime/RenderCore/Public/Shader.h
Each shader type is collected here, not as an instance but as an accessor, so the actual construction can be deferred. The collection happens during static init, the actual construction happens later during launch. The purpose of collecting the types is the CommitAll function, called in LaunchEngineLoop, to ensure all type instances are constructed and registered before other systems start iterating them.
class FShaderTypeRegistration