Not sure where to start
    or worried about the estimate?

    No pressure — just send us your idea or a rough brief, and we'll get back with a free consultation and a flexible estimate tailored to your goals.

    Your name* Work email *
    Phone / WhatsApp Company / Website
    Tell us about your project*
    Asset type, style, scope, deadline, engine, references — anything that helps us prepare an estimate.
    * Required fields
    We usually reply within 1–2 business days

    Thank you!

    Your request has been sent.

    We'll review your request and get back to you within 1–2 business days.

      How did you find us?
      Optional
      This helps us improve our outreach.

      Thanks for the feedback!

      We appreciate you helping us improve.

      The Production PBR Texturing Workflow in Substance Painter

      • Written byDenys Zadoienyi

      • Updated on06.07.2026

      • Time to read14 min

      The Production PBR Texturing Workflow in Substance Painter

      A PBR texturing workflow is the part of production where a model stops being geometry and becomes a material — and it is also where a scene quietly falls apart if the discipline isn’t there. A rifle that looks flawless on its own turntable, a character who reads perfectly in a portfolio shot, an environment prop that nails its reference photo: put all three in the same frame under the same light, and if their materials were authored to different rules, the shot looks wrong in a way nobody on the call can immediately name. For an art director signing off a visual target, that unnamed “wrong” is the entire job.

      PBR texturing workflow in Substance Painter showing base color, roughness, metallic and normal maps on game-ready assets

      “Editorial illustration created for visual reference purposes. It does not represent a real project, client work, or official software screenshot unless stated otherwise.”

      Definition. A PBR texturing workflow is the sequence that turns a game-ready mesh into physically based materials — base color, roughness, metallic, normal and supporting maps authored to real-world light behaviour. In game art it runs from UVs and baking through material authoring in Substance Painter to engine-ready export, so surfaces stay believable across lighting and platforms.

      Why a generic texturing pass falls apart by the third asset

      The first asset always looks fine. A skilled artist can hand-tune one prop until it sings, adjusting values by eye against a single skybox until the beauty shot lands. The problem is that a game is never one asset. It is a content plan of dozens or hundreds, textured over months, often by more than one pair of hands — and “tuned by eye against a single sky” does not survive that.

      Here is what actually happens without a shared PBR texturing workflow. The second artist reads roughness slightly brighter than the first. A metal on one weapon sits at a reflectance the base color never accounts for. By the third asset in a set, an art director looking at a lineup sees the thing they most dread: characters and environment reading like they came from two different games. That is style drift, and it starts exactly there — at the third asset, when there was no hard rule to hold the line.

      The cost of that is not abstract. On the projects we’ve textured, a set that drifts doesn’t fail loudly — it fails in review, one polish pass at a time. A lead flags PBR consistency on a lineup, the assets go back, roughness ranges get re-authored, and a milestone that should have closed on a first-pass approval instead spends its slack on rework. For an art director, that reads as lost lookdev cycles and a visual target that keeps slipping. For a producer sitting in the same review, the same problem reads as milestone risk and re-texture days that were never in the schedule — in our experience, days and sometimes weeks of unplanned re-authoring once a full character’s material set has to be reworked late, depending on how many assets already passed first review. The two roles are watching the same failure from two chairs, and both of them trace it back to a texturing stage that was treated as decoration instead of infrastructure.

      What a production PBR texturing workflow actually looks like, stage by stage

      A texturing pipeline for games is not “open Substance Painter and paint.” It is a fixed sequence where every stage feeds the next, and skipping the boring early stages is what causes the expensive late failures. Six stages carry an asset from mesh to engine.

      Six-stage PBR texturing pipeline for games, from UV layout and baking to Substance Painter authoring and engine export

      “Editorial illustration created for visual reference purposes. It does not represent a real project, client work, or official software screenshot unless stated otherwise.”

      1. UV layout and texel density. Textures are only as good as the UVs under them. Seams go where curvature or occlusion hides them; islands get even texel density so a face doesn’t read sharper than a boot; padding prevents mip bleed. Get this wrong and no amount of painting saves it — a clean UV layout is the real foundation of everything downstream.
      2. Baking. High-poly detail is transferred onto the low-poly mesh — baking high-poly detail into normal and ambient occlusion (AO) maps, plus curvature and thickness that generators will lean on later. A broken bake here poisons every mask above it.
      3. Base materials. A fill layer establishes the underlying material — the plastic, the steel, the leather — with its albedo, roughness and metallic values set before a single detail goes on top.
      4. Masks and generators. Edge wear, grime, scratches and dirt are driven procedurally off the baked curvature and AO through masks and generators, and referenced non-destructively with anchor points so a change low in the stack updates everything above it.
      5. Channel packing. Grayscale maps are combined to cut texture memory, texture bindings and shader sampling cost before they ever reach the engine.
      6. Engine export. The right preset writes the maps in the format the target engine expects — and this is the step most likely to look correct in the viewport and wrong in-engine.

      The reason this ordering matters is signal integrity: a mistake at stage one doesn’t announce itself until stage six, inside Substance Painter or the engine, after the low-poly is locked and the high-poly was signed off. That is why we treat the early stages as gates, not suggestions.

      Production note. In Substance Painter every layer can carry values for all channels at once — base color, roughness, metallic, normal and height — not just colour. That is why one well-built smart material can re-skin an entire asset in a click, and also why a single sloppy fill layer can quietly wreck five maps at the same time.

      The map set: what each PBR channel controls and where it breaks

      Under the whole albedo, roughness, metalness workflow sits one idea worth stating plainly: a surface can’t reflect and scatter more light than it receives. That is energy conservation, and as Marmoset’s primer on physically based rendering lays out, it is what lets an artist author believable materials without breaking the laws of physics — a highly reflective surface shows little diffuse colour, and a bright diffuse surface can’t be very reflective. Metals and non-metals distribute that energy differently. In the metallic/roughness model a pure metal has zero diffuse — its base color becomes the reflected (specular) colour, and metals reflect roughly 60–90% of light. Non-metals keep a diffuse colour plus a smaller, near-neutral specular response and reflect only a few percent. That is also the single most common calibration mistake — authoring a metal’s base color as if it were a painted plastic, so the surface reads wrong under every sky.

      PBR map set comparison — albedo, roughness, metalness, normal, height and ambient occlusion channels side by side

      “Editorial illustration created for visual reference purposes. It does not represent a real project, client work, or official software screenshot unless stated otherwise.”

      Each channel does one job, and each has a signature failure mode.

      PBR channelWhat it controlsCommon mistakeRed flag on review
      Base color / AlbedoDiffuse colour for non-metals, reflected tint for metals; no baked lightingPainting AO or highlights into itDirt that doesn’t move when the light does
      RoughnessMicrosurface — matte vs glossyFlat, single-value roughnessEverything reads like the same plastic
      MetallicMetal vs non-metal (near 0 or 1)Grey midtones “to be safe”Muddy, half-metal surfaces
      NormalFaked surface detail from the bakeWrong OpenGL/DirectX handedness slipping through a vendor’s exportInverted lighting caught at integration — rework after sign-off
      Height / AODepth cues and contact shadowAO too strong, killing formPainted-on shadows that fight the engine

      The rule that ties the table together: variation lives in roughness, not in faked highlights. Scratches, polish, abrasion — those are authored into the roughness map, and a correct PBR system shows both the change in reflection shape and its intensity for free. When we review a set, a flat roughness map is the first thing we send back, because it is the clearest sign someone was painting the look instead of authoring the material.

      Where the trap hides in cross-engine PBR texturing

      Two assets can be textured to identical values and still look like different games once they hit different engines. That is not an art problem — it is a workflow-and-export problem, and it is where PBR texturing game art most often breaks after everyone thought the hard part was done.

      Metallic/roughness vs specular/glossiness

      There are two PBR workflows, and only one is the modern default. Metallic/Roughness is the production default in Substance Painter and Unreal; Unity supports it too, but works in smoothness rather than roughness and packs it differently depending on shader and render pipeline. Specular/Glossiness is the older approach — still valid, but rarely the right call for a new game pipeline. Roughness and glossiness are the same information inverted — glossiness equals one minus roughness — so mixing them up doesn’t crash anything; it just makes every surface read backwards. The Polycount PBR reference collects the calibration charts that keep a team on the same values, which matters far more than which workflow you pick.

      Normals, smoothness and packing

      Three specific traps account for most of the “why does it look wrong in-engine” tickets. First, normal map handedness: OpenGL and DirectX flip the green channel, so a normal baked for one and imported as the other lights every dent inside-out. Second, Unity reads smoothness, the inverse of roughness — the same map, packed and interpreted differently. Third, channel packing: by combining occlusion, roughness and metallic into one RGB texture (ORM), the shader samples one map instead of three — cutting texture fetches from three to one, loading one texture into memory rather than three, and letting block compression (BC7) work more efficiently on a single RGB than on three separate textures. That, not any raw byte count, is where the memory and runtime savings come from. Get the packing order or the colour-space flag wrong, though, and the shader quietly reads garbage.

      ORM channel packing diagram showing occlusion, roughness and metallic mapped to red, green and blue channels

      “Editorial illustration created for visual reference purposes. It does not represent a real project, client work, or official software screenshot unless stated otherwise.”

      This is exactly why export isn’t the finish line. We validate a textured asset inside the target engine, under standard lighting, before it counts as delivered — because the same maps can behave differently across Unity and Unreal, and catching a handedness or packing flip at authoring costs minutes while catching it at integration costs a milestone.

      Why you can’t cut corners on PBR consistency

      Style drift starts at the third asset if there is no hard style guide — and PBR material authoring is where that guide either lives or doesn’t. This is the point where the whole thing can go sideways, so it’s worth being blunt about the failure.

      When a set is textured without a shared reference for values, each asset is individually defensible and the group is a mess. A character passes on its own. An environment passes on its own. Together, under one light on a beauty shot, the character’s metals sit hotter than the world’s, the roughness ranges don’t agree, and the silhouette readability that survived on a turntable dissolves the moment the two share a frame. Nobody authored that clash on purpose; it is the sum of a dozen small, reasonable decisions made without a rule. And it surfaces at the worst possible time — a lookdev review with the art director in the room, late enough that fixing it means re-opening assets that were already signed off.

      Same PBR material authored once and rendered consistently across a character and an environment prop under one light

      “Editorial illustration created for visual reference purposes. It does not represent a real project, client work, or official software screenshot unless stated otherwise.”

      The way out is not more talent. It is a material dictionary: locked value ranges for the metals, the plastics, the fabrics and the skin that everyone on the set authors against, so PBR consistency is a property of the pipeline rather than a heroic act by whoever textures last. On our 3D character modeling work, that dictionary is what lets a set stay coherent across artists — the character and the world hold the same visual target because they were never allowed to drift from it in the first place.

      Stylized or photoreal: the workflow doesn’t change, the calibration does

      A common misread is that stylized games skip PBR. Most don’t. A stylized project usually runs the same physically based map set — energy conservation still applies, metals still read as metals — it just calibrates toward exaggerated value separation and cleaner reads instead of grime and micro-detail. There are deliberately hand-painted pipelines that minimise or bypass PBR, but even those keep the same production discipline; more often the pipeline is identical and only the target moves.

      Where it genuinely diverges is asset type, not art style. Hard-surface work leans on crisp bakes, tight edge wear and precise metal/non-metal separation, which is why PBR-textured hard-surface weapons live and die on their curvature and roughness maps. Organic work leans harder on subtle albedo variation and softer roughness gradients. Same six stages, different emphasis — and treating a creature and a rifle as the same texturing job is how one of them ends up under-authored.

      How to keep texturing efficient without losing fidelity

      Efficiency in a Substance Painter game production pipeline does not come from painting faster. It comes from not re-doing work. Four disciplines do most of that.

      Substance Painter smart material and mask stack used to keep PBR consistency across a full asset set

      “Editorial illustration created for visual reference purposes. It does not represent a real project, client work, or official software screenshot unless stated otherwise.”

      • Smart materials and shared masks. Author a material once, reuse it across the set, and the second asset costs a fraction of the first — and fewer unique materials on screen also means fewer material instances and fewer draw calls, which is where real-time cost actually accrues.
      • Texel density targets. Many teams standardize around 512–1024 px/m depending on camera distance, checked with a checker pattern before the bake — so nothing gets re-textured later just because it was authored at the wrong resolution.
      • Channel packing, compression and streaming. ORM packing plus modern block compression (BC7 on desktop, ASTC on mobile) reclaims memory and sampler cost. For an everyday prop set, standard mipmapping and texture streaming keep VRAM in check; Unreal’s Streaming Virtual Texturing is a heavier tool aimed at landscapes and a handful of uniquely huge, high-resolution meshes — powerful there, but it carries its own setup and lookup cost, so it isn’t the default for normal props.
      • Author to the texture budget. Tie working resolution to the final budget and camera distance. For hero assets, authoring at a higher resolution and downscaling can preserve cleaner masks and reduce aliasing; for background props, painting near ship resolution is usually the better trade.

      None of this is exotic. It is the difference between a texturing stage that scales to a content plan and one that quietly consumes the schedule one re-do at a time.

      Our approach

      The failure I described — a set that drifts because texturing was treated as polish, not infrastructure — is the one we build against. At Nasty Rodent we texture against locked material dictionaries and validate every asset in the target engine before it’s called done, so a set stays consistent from the first prop to the last hero. If that consistency is your bottleneck, it’s exactly what Nasty Rodent’s game-ready 3D prop production is built for. More on the studio, the team and how we work is in the banner below.

      [BANNER: about-us-bottom]

      Three ways to texture a game asset, compared

      ApproachCore mapsBest forEngine supportMain gotcha
      Metallic / RoughnessBase color, roughness, metallic, normalMost game art, PBR pipelinesNative in UE5; Unity via smoothness packingGrey metallic midtones
      Specular / GlossinessDiffuse, specular, glossiness, normalLegacy assets, some VFXSupported, not defaultInverted vs roughness
      Hand-painted / stylizedBase color-led, light PBR supportStylized & mobile titlesBoth, with careSkipping PBR entirely

      Takeaway: for a new game production, Metallic/Roughness is the default worth standardizing on — it’s what the major engines expect, and it keeps the whole set on one set of rules.

      How to choose a texturing workflow — and a team — that holds up

      The decision that actually protects your visual target isn’t which map format you pick; it’s whether the whole set is authored against one set of rules. Standardize on Metallic/Roughness, lock a material dictionary before the first asset, validate in-engine before anything is called done — and treat texturing as pipeline infrastructure, not a final polish.

      If you want a fast read on whether an external team can hold that line for you, we’ll set up an art style alignment call with a senior art lead — thirty minutes on your style guide and PBR consistency target, an honest read on where our texturing would fit, and the risk points flagged before any commitment. A full production brief isn’t required to start — a style guide, reference board or target asset is enough for the first conversation.

      Send your target and reference to business@nastyrodent.com, or book the call directly from the banner above.

      DENYS ZADOIENYI

      DENYS ZADOIENYI

      FOUNDER OF NASTY RODENT STUDIO
      Specializing in real-time game art production, Unreal Engine workflows, and scalable 3D pipelines for modern game development. Over the years, I have worked across environment art, look development, technical production, and visual optimization — helping teams build production-ready assets and efficient art workflows for commercial projects.

      FAQ's

      • [ 1 ]

        Should games use metallic/roughness or specular/glossiness?

        Use Metallic/Roughness for almost all game production. It's the modern default in Substance Painter and Unreal Engine 5, and works in Unity too with the right smoothness and export setup — so a set stays consistent. Specular/Glossiness is still valid for legacy assets, but starting a new pipeline on it usually just adds conversion work.

      • [ 2 ]

        Why do the same textures look different in Unreal and Unity?

        Usually a format mismatch, not a texturing error. Unity reads smoothness — the inverse of roughness — while Unreal reads roughness directly, and normals flip between OpenGL and DirectX handedness. Each engine's export preset fixes the common packing and handedness errors, but won't guarantee identical visuals: lighting, tone mapping and colour management still have to match.

      • [ 3 ]

        What is ORM channel packing and why bother?

        ORM packs occlusion, roughness and metallic into the red, green and blue channels of one texture. The shader then samples one map instead of three and loads one texture instead of three, and a single RGB block-compresses (BC7) more efficiently than three separate textures — that's the real saving. Import it as linear, non-sRGB data, or the values shift.

      • [ 4 ]

        How much does outsourced PBR texturing cost per asset?

        It depends on asset tier and fidelity, but as a working range across EU/global game art outsourcing, expect roughly $150–$600 per game-ready prop and more for AAA hero assets with full map sets and multiple materials. A clear brief with target engine, resolution and reference tightens the estimate considerably.

      • [ 5 ]

        Who owns the textures and the source files?

        Define it in the SOW. IP of the delivered maps usually transfers on acceptance, with game-ready exports and bakes as standard; the layered .spp project — with its procedural setup and licensed smart materials — is often a negotiated premium, since it hands over pipeline tech. An NDA covers confidentiality before anything is shared.

      • [ 6 ]

        What's the turnaround and how many revisions are included?

        A single game-ready asset typically turns around in days, a full set over several weeks, depending on scope. A common structure fixes the revision rounds (often around three) in the quote, with extra rounds billed hourly — exact terms belong in the SOW. In-engine review checkpoints at each milestone keep the timeline predictable.

      Enjoyed reading this article? Find more relevant:

        Not sure where to start
        or worried about the estimate?

        No pressure — just send us your idea or a rough brief, and we'll get back with a free consultation and a flexible estimate tailored to your goals.

        Your name* Work email *
        Phone / WhatsApp Company / Website
        Tell us about your project*
        Asset type, style, scope, deadline, engine, references — anything that helps us prepare an estimate.
        * Required fields
        We usually reply within 1–2 business days
        • Transparent pricing
        • Honest feedback
        • No hidden costs - ever
        Military UAV drone 3D model with wing-mounted missiles