If a PBR material download contains base color, metallic, and roughness maps, it uses a different parameterization from a material built around diffuse, specular, and glossiness. Both can describe physically based surfaces. They just store the reflection information differently.
For most current real-time workflows, metallic/roughness is the easier default. It is the core PBR model used by glTF, it maps directly to Unreal Engine's standard material inputs, and it matches the map set used by twirl. Specular/glossiness still matters when a renderer, studio template, or older asset library expects it. The important part is not mixing maps from the two workflows as though their names were interchangeable.
What the metallic roughness workflow stores
A metallic/roughness material is usually built around base color, metallic, and roughness, with normal, height, and other detail maps added separately. Khronos uses this model as the core PBR representation in glTF 2.0, where base color, metalness, and roughness define the main surface response.
The metallic value tells the shader whether the visible surface behaves like a metal or a dielectric such as stone, wood, plastic, paint, or fabric. For clean materials, that value is generally close to 0 for a non-metal and 1 for exposed metal. Intermediate pixels still appear around antialiased boundaries, mixed coverage, dirt, corrosion, coatings, and transitions between different visible materials.
Roughness controls how concentrated the reflection is. A roughness of 0 is smooth and produces a sharp reflection. A roughness of 1 spreads the reflection broadly and reads as matte. Epic describes the same 0-to-1 behavior in its physically based materials documentation.
Base color changes meaning slightly depending on metallic. On a dielectric, it primarily represents the diffuse surface color. On a metal, it supplies the color associated with the metal's reflection response rather than a normal diffuse layer. This is why a gold or copper material can carry its characteristic color through base color while the metallic map identifies that region as metal.
What the specular glossiness workflow stores
Specular/glossiness represents similar surface behavior with diffuse, specular, and glossiness textures. Instead of using a metallic mask to tell the shader how to interpret base color, the workflow stores reflection color and intensity more directly in an RGB specular map.
Glossiness runs in the opposite direction from roughness. High glossiness means a smoother surface with a tighter reflection, while high roughness means a rougher surface with a broader reflection. When the two workflows use compatible definitions, the basic relationship is glossiness = 1 - roughness.
The color maps are not converted as simply. A metallic/roughness base color cannot always be copied directly into a specular/glossiness diffuse slot because metals and dielectrics distribute their reflected and diffuse energy differently. Adobe's current Substance renderer documentation treats these as separate PBR workflows and notes that renderer-specific conversion may be required when the target material model expects different outputs.
Specular/glossiness gives the artist direct control over specular reflectance color. That can be useful in pipelines built around that representation, but it also means the maps need to be authored with a clear understanding of the material model. A bright diffuse map combined with an arbitrarily bright specular map is not automatically a plausible material just because both textures look reasonable on their own.
Metallic is not another name for specular
A metallic map and a specular map do not contain the same data. Metallic is usually a scalar classification telling the shader how much a surface behaves as a metal. A specular map in a specular/glossiness workflow is typically RGB and directly describes reflection color and level.
That distinction matters when moving old material libraries into a current engine. Plugging a grayscale specular texture into Unreal's Metallic input does not convert the material. A non-metal can have visible specular reflection while still having a metallic value of zero. Glass, plastic, ceramic, varnished wood, and skin are all obvious examples of non-metal surfaces that still reflect light.
The reverse mistake causes problems too. A black metallic map does not mean a material has no specular reflection. It means the material is being treated as a dielectric. The shader still provides the dielectric reflection behavior defined by its material model.
Our metallic map guide goes deeper into exposed metal, paint, rust, dirt, and why metallic maps often behave more like masks than ordinary grayscale texture maps.
Roughness and glossiness are much easier to convert
Roughness and glossiness describe the same microsurface idea in opposite directions. If the source and target shaders use the conventional normalized definitions, inverting the map is the main conversion: glossiness = 1 - roughness.
This is the same naming problem that appears in Unity, where many built-in material workflows expose Smoothness rather than Roughness. A white roughness pixel describes a rough area, while a white glossiness or smoothness pixel describes a smooth area. Our roughness map vs gloss map guide covers that inversion separately.
Do not invert a roughness texture simply because the destination calls something Specular. Specular level and surface roughness are different properties. The inversion only applies when you are converting between roughness and a glossiness or smoothness representation of microsurface width.
Which PBR workflow does twirl use?
twirl currently provides separate albedo, normal, roughness, metallic, and height maps. That is a metallic/roughness source set. The roughness map describes microsurface response directly, while the metallic map identifies where the visible surface behaves as metal.
This layout maps naturally into Blender's Principled BSDF and Unreal Engine's standard metallic and roughness inputs. Unity commonly expects smoothness rather than roughness in its built-in Lit workflows, so the roughness values need to be inverted and stored where the target Unity shader expects smoothness. Our Unity URP roughness guide covers that engine-specific conversion.
The AI PBR material generator creates the coordinated five-map set, and the PBR material library uses the same general material model. If your target renderer requires a specular/glossiness workflow, convert the maps for that renderer rather than renaming the twirl files and connecting them to similarly named inputs.
Blender can work directly with metallic and roughness
Blender's Principled BSDF exposes Metallic and Roughness inputs directly, so a metallic/roughness texture set does not need to be converted to specular/glossiness first. Base color goes to Base Color, roughness goes to Roughness, and metallic goes to Metallic. The data maps should use Non-Color handling while base color remains color data.
If you use Node Wrangler's Principled Texture Setup, Blender can identify common map names and build much of this graph automatically. Our Principled Texture Setup guide covers the shortcut and the cases that still need manual attention.
Blender also exposes IOR and specular-related controls in Principled BSDF for materials that need more specific dielectric behavior. Their existence does not turn the shader into the older specular/glossiness texture workflow. Modern material models can expose additional reflection controls while still using metallic and roughness as their primary surface representation.
Unreal Engine uses metallic and roughness directly
Unreal Engine's standard material model has dedicated Metallic and Roughness inputs. Epic's Material Inputs documentation describes Roughness as the control for how rough or smooth a surface is, while Metallic determines how metal-like the surface behaves.
That makes a separate metallic/roughness set straightforward to import. Base color should normally use sRGB, while roughness and metallic are numerical material data and should have sRGB disabled. Normal maps use their own normal-map import path. Our Unreal Engine PBR texture import settings guide covers those settings in detail.
Unreal also exposes a Specular input, but that does not mean a material should be converted to a full specular/glossiness workflow. The input lets the Unreal material model adjust dielectric specular behavior within its own shading system. It is not a destination for an arbitrary legacy specular texture without understanding how that source texture was authored.
Unity needs you to check the shader, not just the engine name
Unity has supported several material models across the Built-in Render Pipeline, URP, HDRP, and Shader Graph. The exact texture layout depends on the shader you are using. Current URP Lit materials use metallic and smoothness terminology, with smoothness commonly stored in an alpha channel rather than supplied as a standalone roughness texture.
For a metallic/roughness source set, the important conversion is therefore often roughness to smoothness rather than metallic/roughness to a traditional specular/glossiness workflow. Metallic remains metallic, while smoothness is the inverse of roughness and is packed according to the target shader's layout.
A custom Shader Graph can expose whatever inputs the project defines, so always check the graph before repacking textures. Engine names are useful shorthand, but the shader is what actually determines which channels the material consumes.
glTF uses metallic roughness as its core PBR model
The core glTF 2.0 material model is metallic/roughness. Khronos defines these properties under pbrMetallicRoughness, and the format packs roughness and metallic into channels of the same texture when images are used. Blender's glTF exporter documentation notes the expected convention: roughness in green and metallic in blue.
That packed representation does not change the meaning of the maps. It is still the same metallic and roughness data, just stored efficiently in channels rather than separate grayscale files.
Khronos previously defined a KHR_materials_pbrSpecularGlossiness extension for the alternate workflow, while newer glTF material extensions add specular and IOR controls around the core metallic/roughness model. This is a useful example of why the presence of a specular control does not necessarily mean the entire material has switched to the old specular/glossiness parameterization.
Converting metallic roughness to specular glossiness is not just renaming maps
The roughness part is easy to reason about because glossiness is its inverse. The metallic and color conversion is more involved because the two workflows divide diffuse and reflected color differently.
Adobe Substance 3D Designer includes a BaseColor / Metallic / Roughness converter specifically for this job. As of September 2026, Adobe lists output targets including diffuse/specular/glossiness and renderer-specific variants for V-Ray, Corona, Redshift, Arnold, and RenderMan. That is a better model for conversion than trying to infer the new diffuse and specular maps by eye.
If a renderer already accepts metallic/roughness, conversion usually adds no value. Keep the source maps in their native representation and configure the target shader correctly. Convert when the renderer or studio pipeline genuinely requires another material model.
Can you mix maps from both workflows?
Not safely without knowing what each map represents. A material folder assembled from different libraries can easily contain albedo, specular, gloss, and metallic files together, especially if it has passed through several tools. The filenames do not guarantee that all of those maps belong to one coherent shader model.
Start by identifying the intended workflow. A base color plus metallic plus roughness set points toward metallic/roughness. A diffuse plus RGB specular plus glossiness set points toward specular/glossiness. Normal, height, and AO can exist alongside either workflow because they describe different parts of the surface.
If both sets are provided by the original author, they may simply be two exports of the same material for different renderers. Pick the set that matches the target shader rather than connecting every available image at once.
Which workflow should you use?
For new work targeting Blender, Unreal Engine, glTF, or a modern material pipeline that already exposes metalness and roughness, metallic/roughness is usually the direct choice. It is also the native representation of twirl's current PBR map set, so there is no reason to convert it before using a compatible shader.
Use specular/glossiness when the target renderer or studio material template specifically expects diffuse, specular, and glossiness. Adobe's renderer guides still document these cases, including pipelines where metallic/roughness outputs are converted for a renderer-specific shader. The target material model should decide the export, not a general assumption that one workflow is universally better.
When a material looks wrong after moving between tools, check the workflow before editing the textures. Metallic is not specular, roughness runs opposite to glossiness, and base color is not always equivalent to diffuse. Once those differences are clear, most PBR handoff problems become a matter of connecting or converting known data rather than guessing from how the maps look.