Video summary

5: Layered Material

Main summary

Key takeaways

Technology

Technological concepts & product/pipeline features

Layered master shader as the core of the pipeline

  • The speaker argues the master material/shader determines most of the visual approach (roughly “80%”).
  • Emphasis: an elegant and flexible shader design improves production speed and efficiency.
  • Disclaimer: the speaker is not a professional technical artist—recommendations should be verified with a Technical Artist.

Unreal Engine 5 feature stack (and reality check)

Planned pipeline uses:

  • Nanite
  • Lumen
  • Nanite Static Displacement Mapping

Reality check / pushback on the idea that UE5 removes the need for optimization:

  • Nanite/Lumen still require updated rules and workflows.
  • Even AAA/AA studios are experimenting and iterating.

Displacement/tessellation choice

  • Uses Nanite Static Displacement Mapping instead of Nanite tessellation.
  • Claimed visual difference is small, but static displacement works better with Nanite (verified via Triangle/Cluster Viewer).
  • Both displacement approaches are described as experimental, with a hope they become fully standard in future UE5.

Material Layers system (UE5)

Uses UE5’s Material Layer / Material Layer Blend system to build layered materials:

  • Material Layer: per-layer logic instances (e.g., bricks/mortar/plaster).
  • Material Layer Blend: masking/mixing logic with blend parameters.
  • Master Material container: combines everything and provides global logic.

Example global logic in the master material

  • Rebuild/adjust normal map components in one place (e.g., “restore Z-vector” once).
  • Optional procedural effects (e.g., adding snow without requiring separate layers).

Material Layer Instances as “Layer Stack”

  • The material instance (sometimes called a Material Layer Stack) is where layer parameters are controlled.
  • Layer instances can share the same underlying master layer logic while using different textures/parameters.

Geometry + texture inputs used for the demo

Example asset: simple architectural column

  • Separate top/bottom areas.
  • Thin beveled edges.
  • UVs included.

Two UV channels

  • UV0: tileable texture layout, with stated texel density ~1024 (portfolio target).
  • UV1: unique RGBA splat mask (splat map) UVs in 0–1 space, no overlaps.
    • Distortion is tolerated because the splat map drives blending only.

Tiny corner chipping

  • Used to test how well displacement handles small surface details.

Layer color pipeline: Gradient Map via Curve Atlas

Gradient-driven base color

  • Layer color uses a Gradient Map concept driven by a Gradient Curve Atlas.

Curve Atlas workflow

  1. Create a Curve Linear Color defining a black→white gradient with editable color points.
  2. Bake it into a Curve Atlas texture (configured as 16×1 pixels).
  3. Sample the curve atlas in the material to produce per-layer base color.

Optimization note:

  • In the final build, the approach relies on small baked textures—effectively 16×1 textures for the color data.

Height-blended layer mixing (splat mask + height comparison)

Splat mask blending method

  • Blending uses an RGBA splat mask (not vertex painting).
  • Channel selection controls which pair of layers the brush/mask edits.

Height blending logic

  • The blend mask is computed by comparing height maps from:
    • the lower layer
    • the upper layer

Blend controls:

  • Channel intensity: splat mask grayscale controls influence of height blending.
  • Softness: adjusts hardness/contrast of the blend boundary; described as sensitive (too high can invert or break expected blending).
  • Opacity controls for different attribute groups:
    • opacity for color/roughness together
    • separate opacity for normals
    • separate opacity for displacement

Manual painting behavior

  • Painting with different grayscale values changes where the “top layer” appears:
    • based on height recesses vs peaks
  • Supports tools such as:
    • shift-delete (remove layer)
    • erasing
    • fill

“Full” layers vs “Soft” layers

Layer types

  • Full layers: standard blending with full normals/displacement behavior.
  • Soft layers: reduced influence / simplified behavior.

Practical example: soft grunge normal issue

  • Problem: grunge soft layer normal overlapped lower layers and looked flat.
  • Fix: set normal opacity to 0 so only roughness/color effects remain clean.

Under-the-hood description

  • Soft layers are described as simplified versions of full-layer logic, using fewer textures/controls.

Technical art optimization goal: reduce draw calls (UE5.5 “Texture Color”)

The draw call problem

  • Changing meshes/textures/shader parameters can increase CPU→GPU command overhead, hurting performance.

Why classic splat masks can hurt

  • If each unique painted mask requires distinct material instance parameter sets (e.g., swapping splat mask), it can increase draw calls.

UE5.5 solution described

  • Uses Virtual Splat Map / Mesh Paint Texture Object + Mesh Paint Texture Replace.
  • Adds Texture Color painting backed by virtual textures so the same material instance can be reused while the blend map updates per mesh procedurally.

Texture Color painting setup

  • Painting mode adds a Mesh Paint Texture (virtual texture) visible in mesh instance details.
  • Requires enabling virtual texture support and specifying:
    • override UV channel index
    • virtual texture resolution

Claimed benefits

  • Different painting per mesh, but same material instance enables single draw call across meshes sharing the layer stack.
  • Blending looks consistent near-to-far compared to vertex-color blending.

Speaker’s drawback

  • The virtual texture is procedural and stored in external actor data, not easily exportable/savable to the Content Browser.
  • The speaker needs editable baked textures for:
    • static displacement mapping
    • debugging workflows
    • baking blended results on demand

Why they revert to “Splat masks” in this project

Even though UE5.5’s texture-color/virtual-texture system is described as more advantageous, the speaker chooses the older splat-mask method because:

  • They need a workflow where blend results can be baked into a real texture (on demand, per mesh).
  • Virtual textures can’t be saved directly in the UI.
  • Manual exporting/baking is too time-consuming.
  • The next step (next video) on displacement likely depends on having editable baked blend textures.

Key tutorial/review-like takeaways (what the video teaches)

  • How to build a layered master material with UE5 Material Layers:
    • layer logic in Material Layer functions
    • mixing logic in Material Layer Blend functions
    • global controls in Master Material
  • How to set up blending with:
    • two UV channels
    • RGBA splat mask
    • height-map comparison with controllable softness
  • How to implement Curve Atlas as a compact gradient/color system (16×1 baked).
  • How to handle soft layers using per-attribute opacity (especially normal opacity).
  • How UE5.5’s Texture Color painting (virtual textures) can reduce draw calls.
  • Why virtual texture blending wasn’t adopted here: difficulty baking/exporting editable textures needed for displacement.

Main speakers / sources

  • Main speaker: An environment/level artist (narrator) teaching the layered material + blending workflow in Unreal Engine 5.
  • Source references mentioned:
    • Unreal Engine 5 documentation/features
    • UE5.5 “Texture Color” / mesh paint virtual texture workflow
    • general height-blending math (referenced, not claimed as authored by the speaker)

Rate this summary

Your feedback will help improve summaries.

Improve this summary

Reprocess with a stronger model when the summary feels incomplete or inaccurate.

Pro

Translate summary in another language

Pro

Ask questions to this video

Chat for follow-up questions, clarifications, and source-backed answers.

Coming soon

Share this summary

Original video