Metalness workflow
Materials should be set up using a standard PBR metalness workflow. This allows for maximum compatibility between different renderers and engines.
Required textures
At least the 4 main textures are required for the model to be usable with PBR materials - BaseColor, Normal, Roughness and Metalness. Other textures like AO, Emissive and Opacity are optional if they are needed. In most cases an AO map should still be baked and included.
Texture resolution
All textures should be of a square 1:1 aspect ratio with the resolution being a power of 2, for example 256x256, 512x512, 1024x1024 and so on.
No embedded textures
Exported model file should not have any textures embedded into it, it increases the file size and is unnecessary as the textures are supposed to be included alongside it anyway.
Texture color space
Any color maps (like BaseColor and Emissive) should use sRGB color space, the normal map should use RGB color space while all other maps should use linear color space. Color space should be set correctly on all texture maps to make sure all the textures work correctly.
Image color mode
Any textures that rely on color for anything, like BaseColor or Normal maps should be set to RGB mode while any textures that only rely on black or white values like Roughness or AO should be set to Grayscale.
Naming convention
For the sake of simplicity and consistency, it is recommended to use a naming convention following the structure of {Material}_{Texture type}.{file_format}, with {Material} matching the name of the material applied to the model. For example “Sofa_BaseColor.png”.
Transparent materials
Any parts of the model using any kind of transparency should use a separate material from any opaque parts, using the same material for both opaque and transparent parts will often create issues.
No objects without materials
The geometry objects should always have at least one material applied, having objects without any kind of material applied will create problems.