Metal/Roughness vs Specular/Glossiness
The two PBR texture workflows
Also known as: Metallic workflow · Specular workflow · Spec/gloss · Metal/rough · Specular glossiness
Definition
Metal/roughness and specular/glossiness are the two PBR texture workflows. Metal/roughness uses base color, a metallic mask and a roughness map, and is the default in Unreal Engine, Unity, glTF and Substance Painter. Specular/glossiness uses diffuse color, a specular color map and a glossiness map, which is the inverse of roughness. Both can describe the same materials, but they are not interchangeable without conversion.
In production
Pick the workflow your engine expects and export for it. Converting between them means inverting glossiness to get roughness and reconstructing metallic from the specular map, which is lossy, so avoid mixing the two in one project. Metal/roughness is easier to author because it prevents physically impossible values, while spec/gloss gives more control over specular color on non-metals, which is why some older pipelines still use it.