/Engine/Source/Runtime/Engine/Public/MaterialShared.h
Usage options for a shader map. The purpose of EMaterialShaderMapUsage is to allow creating a unique yet deterministic (no appCreateGuid) Id, For a shader map corresponding to anyUMaterialorUMaterialInstance, for different use cases. As an example, when exporting a material to Lightmass we want to compile a shader map with FLightmassMaterialProxy, And generate aFMaterialShaderMapIdfor it that allows reuse later, so it must be deterministic.
namespace EMaterialShaderMapUsage { enum Type { Default, LightmassExportEmissive, LightmassExportDiffuse, LightmassExportOpacity, LightmassExportNormal, MaterialExportBaseColor, MaterialExportSpecular, MaterialExportNormal, MaterialExportTangent, MaterialExportMetallic, MaterialExportRoughness, MaterialExportAnisotropy, MaterialExportAO, MaterialExportEmissive, MaterialExportOpacity, MaterialExportOpacityMask, MaterialExportSubSurfaceColor, MaterialExportClearCoat, MaterialExportClearCoatRoughness, MaterialExportCustomOutput, MaterialExportShadingModel, MaterialExportRefraction, } }