The 3D Handbook
Topic

Material layers and Substrate

Building surfaces by stacking simple materials (concrete, paint, dirt, moss) with masks, either live in the shader or composited and baked offline; Unreal's Material Layers and Substrate, Unity's Layered Lit, the studio systems behind The Order 1886 and Gears of War 4, and how to choose.

materialsshadersunrealunitytexturing

Material layering builds a complex surface by stacking simple, well-understood materials and blending them with masks. A rusty painted wall can be built from four layers instead of one painted texture: steel, primer, paint and rust, each with correct values, mixed by masks that say where paint has flaked and rust has spread. Change the paint colour once and every wall that uses that layer updates.

You already know the idea from smart materials in Substance Painter. This page is about doing it as a material system: in the engine's shader, or in a build step that bakes the result. It builds on master materials and instances and shaders for artists, and the blends themselves often use height blending and vertex painting and blending.

#Why studios layer materials

Ready at Dawn explained their reasons in the notes for The Order: 1886. Hand-painted parameter textures forced artists to encode a material's look in paint, and changing a core property meant repainting every texture that used it. Layering let artists build complex surfaces from simpler materials, regenerate every output when a source material changed, and merge several materials into one to save draw calls (Neubelt & Dawn) 2013).

The Coalition wanted the same for Gears of War 4: a shared library so artists stack materials rather than rebuild them, and tuning inside the engine instead of round-tripping to external tools (Penty & Coalition) 2017). Matthew Trevelyan Johns at Naughty Dog describes the benefit: layering lets artists "create more generic, reusable textures, but stack and combine them together" (80 Level: Building Environments for Uncharted: The Lost…).

#Runtime and offline blending

The main decision is when the layers are combined.

Two columns. Left, runtime: four layer boxes (base concrete, paint, dirt, moss) with masks from vertex colour or textures feeding an orange box labelled pixel shader samples every layer; pros, varies per instance; cons, cost grows with every layer. Right, offline: the same four layers feeding a dark box labelled build step bakes one texture set, then a box labelled shader samples one set; pros, cheap at runtime with any number of layers; cons, same result on every instance.
Runtime layering stays editable per instance but costs shader work for every layer; offline compositing bakes the stack into one texture set.Diagram by the handbook author

Runtime (live) layering. The shader samples every layer and blends them per pixel, usually with masks from vertex colours or a mask texture. The Order: 1886 allowed "a stack of up to 4 material layers to be blended together based on alpha values", typically from vertex colours, mainly on environment materials "to add unique variation to tiled textures" (Neubelt & Dawn) 2013). Each instance in the level can look different.

Offline compositing (baking). A build step blends the layers and writes ordinary texture maps. Ready at Dawn's compositing was "primarily an offline process that automatically generates texture maps containing material parameters", with layers blended by "monochrome blend masks", painted or generated, for example from a cavity map baked from the sculpt (Neubelt & Dawn) 2013). The runtime cost is that of a single material.

Most studios use both. The Order combined offline compositing with up to four runtime layers (Neubelt & Dawn) 2013). Gears of War 4's system let artists mark each layer either "live" or "to be cooked"; a cooker called the Smelter reduced the stack to its simplest form, and layers such as a detail normal map that would lose resolution if baked stayed live (Penty & Coalition) 2017).

#Worked example: the cost of a layer

A typical layer has three textures: base colour, normal, and a packed roughness/metal/AO map (see channel packing).

Setup Texture samples per pixel
One baked material 3
Runtime: base + 1 layer + mask texture 3 + 3 + 1 = 7
Runtime: base + 3 layers, vertex-colour masks 3 × 4 = 12

Twelve samples on every pixel of a large wall is a significant cost, and The Coalition built a cooker to meet 60 fps on Xbox One (Penty & Coalition) 2017). Johns describes a similar approach at Naughty Dog: once an adjustment in the shader was proven, he applied it to the textures and removed the extra shader controls, "reducing the shader cost once more" (80 Level: Building Environments for Uncharted: The Lost…).

#Unreal Engine: Material Layers

Unreal's Material Layers let you "layer and blend textures and properties together" through two asset types (Unreal Engine documentation: Using Material Layers in Unreal Engine):

  • A Material Layer asset holds one layer's graph and parameters (for example, "painted metal").
  • A Material Layer Blend asset defines the mask between a bottom and a top layer. Without one, "the topmost layer without a blend asset will always override any layers below it" (Unreal Engine documentation: Using Material Layers in Unreal Engine).

The parent material uses a Material Attribute Layers expression to "evaluate the active Material Layer stack and output the merged attributes" (Unreal Engine documentation: Using Material Layers in Unreal Engine). In a material instance, the Layer Parameters tab lets you add, hide, reorder and reassign layers and blends, and each layer's parameters are exposed there without duplicating them in the parent (Unreal Engine documentation: Using Material Layers in Unreal Engine). Epic presents this as a simpler alternative to building layered materials from material functions, whose parameters have to be duplicated in the base material to be instanced (Unreal Engine documentation: Using Material Layers in Unreal Engine).

#Unreal Engine: Substrate

Substrate is a different kind of layering: physical rather than artistic. It "replaces the fixed suite of shading models and blend modes, such as Default Lit and Clear Coat" with materials built from slabs, each a full surface with an interface (roughness, normal, albedo, F0, F90) and a medium (Unreal Engine documentation: Overview of Substrate Materials in Unreal…). Instead of Base Color, Specular and Metallic, you work with Diffuse Albedo and F0 (Unreal Engine documentation: Overview of Substrate Materials in Unreal…).

Slabs combine with operators (Unreal Engine documentation: Overview of Substrate Materials in Unreal…):

  • Horizontal Blend mixes two slabs side by side, like a classic mask blend (rust patches on steel).
  • Vertical Layer stacks one slab on top of another, with the top layer's thickness affecting what shows through. Epic's examples are car paint, varnished wood and wet surfaces.
  • Coverage Weight controls how much a slab covers what is beneath it.
  • Add combines slabs but "should be avoided whenever possible" because it is not physically plausible.

Substrate has a budget. Its default storage is 80 bytes per pixel (r.Substrate.BytesPerPixel), and materials that exceed the budget are simplified automatically (Unreal Engine documentation: Overview of Substrate Materials in Unreal…). Epic's documentation says Substrate is enabled by default for new projects from UE 5.7, while projects upgraded to 5.7 keep the old path unless they opt in. It also lists platform limits: the full Adaptive GBuffer needs current consoles or SM6 desktop, other platforms fall back to simplified materials, and several options are marked experimental (Unreal Engine documentation: Overview of Substrate Materials in Unreal…).

#Unity HDRP: Layered Lit

Unity's HDRP Layered Lit shader "allows you to stack up to four Materials on the same GameObject": a Main Layer plus Layers 1–3 (HDRP 17 documentation: Layered Lit material). Its inspector exposes (HDRP 17 documentation: Layered Lit Material Inspector reference):

  • A Layer Mask texture, with the alpha channel for the Main Layer and red, green and blue for Layers 1–3.
  • Vertex Color Mode: None, Multiply (vertex colour multiplies the mask) or AddSubstract (vertex colour adds to or subtracts from it).
  • Use Height Based Blend with a Height Transition slider, so layers break through by height (see height blending).
  • Main Layer Influence, which lets the bottom layer's albedo, normal and height bleed into the layers above.

Unity describes the shader as ideal for photogrammetry (HDRP 17 documentation: Layered Lit material). For example, a scanned rock could be the main layer, with moss and dirt layers whose detail follows the rock through Main Layer Influence.

#In different tools

Tool Layering system Notes
Unreal Engine Material Layers and Layer Blends; Substrate slabs Per-instance layer stacks; physically based vertical layering (Unreal Engine documentation; Unreal Engine documentation)
Unity HDRP Layered Lit Up to four layers, mask texture and vertex colour, height-based blending (HDRP 17 documentation; HDRP 17 documentation)
Substance 3D Painter Layer stack, smart materials Offline: the stack is exported as baked textures
Studio engines Custom systems The Order: 1886 (offline + 4 runtime layers), Gears of War 4 (live or cooked) (Neubelt & Dawn) 2013; Penty & Coalition) 2017)

#Further reading and watching

References

  1. David Neubelt and Matt Pettineo (Ready at Dawn) · Crafting a Next-Gen Material Pipeline for The Order: 1886 · SIGGRAPH 2013 Physically Based Shading course notes, 2013 · paper · accessed 2026-10-21
  2. Colin Penty and Ian Wong (The Coalition) · Gears of War 4: Creating a Layered Material System for 60fps · SIGGRAPH 2017 Talks, 2017 · paper · accessed 2026-10-21
  3. Matthew Trevelyan Johns (interviewed by Kirill Tokarev) · Building Environments for Uncharted: The Lost Legacy · 80 Level, 2017 · article · accessed 2026-10-21
  4. Epic Games · Using Material Layers in Unreal Engine · Unreal Engine documentation · docs · accessed 2026-10-21
  5. Epic Games · Overview of Substrate Materials in Unreal Engine · Unreal Engine documentation · docs · accessed 2026-10-21
  6. Unity Technologies · Layered Lit material · HDRP 17 documentation · docs · accessed 2026-10-21
  7. Unity Technologies · Layered Lit Material Inspector reference · HDRP 17 documentation · docs · accessed 2026-10-21
  8. Matthew Trevelyan Johns and others · Star Citizen...The Gladiator...ART DUMP · Polycount, 2015 · forum · accessed 2026-10-21

Last updated 2026-10-22