Navigation API > API/Runtime > API/Runtime/RenderCore If this changes you need to make sure all shaders get invalidated Name FShaderCodeVendorExtension Type struct Header File /Engine/Source/Runtime/RenderCore/Public/ShaderCore.h Include Path #include "ShaderCore.h" Syntax struct FShaderCodeVendorExtension Copy full snippetstruct FShaderCodeVendorExtension Constructors Name Remarks Include Path Unreal Specifiers FShaderCodeVendorExtension () ShaderCore.h FShaderCodeVendorExtension ( EGpuVendorId InVendorId, uint16 InBufferIndex, uint16 InBaseIndex, uint16 InSize, EShaderParameterType InType, bool InIsOptional ) ShaderCore.h Constants Name Type Remarks Include Path Key const EShaderOptionalDataKey For FindOptionalData() and AddOptionalData() ShaderCore.h Variables Public Name Type Remarks Include Path Unreal Specifiers bIsOptional bool When true, this vendor extension is included in the shader bytecode due to compile-time platform defines but all code paths that access it are behind runtime dynamic branches, so the shader can safely be created on GPUs from other vendors. ShaderCore.h Parameter FParameterAllocation ShaderCore.h VendorId EGpuVendorId ShaderCore.h Functions Public