The 3D Handbook
Topic

Procedural materials (node-based)

Building materials from connected nodes instead of painting pixels, in Substance 3D Designer, InstaMAT, Material Maker, Blender shader nodes or the Unreal material graph; exposed parameters, SBSAR files, and when to bake versus compute in the shader.

texturingproceduralsubstance-designermaterialsnodes

A procedural material is built from a graph of connected nodes, each doing one small operation (make a shape, blur, warp, blend, colour), instead of being painted pixel by pixel. Change a value early in the graph and everything after it updates. Adobe describes Substance 3D Designer as having "a heavy focus on procedural generation, parameterization and non-destructive workflows" (Substance 3D Designer documentation: Substance 3D Designer overview).

"Procedural" describes how the material is made. The result is usually still a set of ordinary textures, used as a tileable, a trim sheet or a decal. See ways to texture an environment.

#Why build materials from nodes

#How a graph is structured

A node graph read left to right. A shape node and a tile sampler node make a pattern; a noise node and a warp node add variation; a blend node combines them into height. From height, nodes produce a normal map, a curvature-style mask and an ambient occlusion map. A gradient map node turns masks into base colour; a levels node turns masks into roughness. Two exposed parameter sliders, "stone size" and "moss amount", connect to the tile sampler and to a blend node.
A simplified graph. Height is built first; every other output is derived from it. Exposed parameters (orange) become sliders in other apps.Diagram by the handbook author

Most graphs follow the same logic:

  1. Pattern: shapes placed by a scatter or tile node. Daniel Thiger's fundamentals course is built around the Tile Sampler, Designer's main scatter node (Gumroad: Tutorial | Fundamentals Part 1: Pattern…).
  2. Height: pattern plus warps and noises, from large forms to small. Margot Casiro: the heightmap is "what will drive absolutely everything else" (80 Level: 001AGT: Learning Substance Designer…).
  3. Masks: extracted from the height at each stage.
  4. Outputs: colour via gradient maps, roughness via levels, normal and AO from height.
  5. Parameters: the values you want others to change.

Adobe's own First Steps tutorial follows this order, ending with "exposing parameters" and a complete PBR material (Adobe Learn: First Steps with Substance 3D Designer).

#The tools

Tool What it is Notes
Substance 3D Designer (Adobe) "a Node-based editor" for materials, the industry standard (Substance 3D Designer documentation) Publishes .sbsar archives
InstaMAT (Abstract) Graph editor for "generative materials and powerful pipelines", plus layer painting (instamaterial.com) Free Pioneer licence for individuals or businesses under $100,000 revenue or funding
Material Maker "The open source procedural materials authoring tool", over 200 nodes (materialmaker.org) Exports PBR materials for Godot, Unity and Unreal
Blender shader nodes "Materials, lights and backgrounds are all defined using a network of shading nodes" (Blender Manual) Procedural textures render live; bake them to images for games
Unreal Engine material graph Node-based Material Editor; nodes are "Material Expressions and Functions" (Unreal Engine documentation) Computed in the shader at runtime; instances make variants without recompiling

Designer, InstaMAT and Material Maker are texture generators: they output images. Blender's and Unreal's graphs are shaders: they compute the surface when it is rendered. The difference affects performance in games.

#Bake to textures, or compute in the shader?

A texture generator's graph can be hundreds of nodes, because you only pay the cost once, when you export. A shader graph runs for every pixel on screen every frame, so it has to stay cheap. See shaders for artists and master materials and instances.

So the usual split is:

Blender's procedural textures work in Blender renders, but game engines cannot read them. Bake them to image textures before export (see baking).

#SBSAR files and parameters

Designer publishes graphs as SBSAR (Substance Archive) files, which Adobe calls "compiled, optimized" files that calculate faster and are easy to share, adding "you'll export to SBSAR if the target supports it" (Substance 3D Designer documentation: Substance 3D Designer overview).

An SBSAR keeps the parameters you exposed. Other apps show them as controls:

#Further reading and watching

References

  1. Adobe · Substance 3D Designer overview · Substance 3D Designer documentation · docs · accessed 2026-10-21
  2. Nathan Mackenzie (interviewed by Kirill Tokarev) · Advanced Materials with Substance · 80 Level, 2017 · article · accessed 2026-10-21
  3. Sebastien Deguy (Allegorithmic), Rogelio Olguin and Bradford Smith (Naughty Dog) · Texturing Uncharted 4: a matter of Substance · GDC Vault, 2016 · talk · accessed 2026-10-21
  4. Jared Sobotta · Brick and Concrete Generator · ArtStation, 2023 · web · accessed 2026-10-21
  5. Jared Sobotta · River Rock Breakdown · ArtStation, 2023 · web · accessed 2026-10-21
  6. Daniel Thiger · Tutorial | Fundamentals Part 1: Pattern Creation and Natural Scattering · Gumroad · course · accessed 2026-10-21
  7. Margot Casiro (Ubisoft Montpellier) · 001AGT: Learning Substance Designer — Heightmap, Basecolor, Masks · 80 Level · article · accessed 2026-10-21
  8. Adobe · First Steps with Substance 3D Designer · Adobe Learn · course · accessed 2026-10-21
  9. Abstract · InstaMAT · instamaterial.com · tool · accessed 2026-10-21
  10. Material Maker project · Material Maker · materialmaker.org · tool · accessed 2026-10-21
  11. Blender Foundation · Shader Nodes: Introduction (manual source) · Blender Manual (source repository) · docs · accessed 2026-10-21
  12. Epic Games · Unreal Engine Materials · Unreal Engine documentation · docs · accessed 2026-10-21
  13. Adobe · Substance 3D for Unreal Engine · adobe.com · tool · accessed 2026-10-21
  14. Adobe · Changing parameters (Substance 3D for Unity) · Substance 3D integrations documentation · docs · accessed 2026-10-21
  15. Tsvetelina Valkanova (Ubisoft Sofia) · A Look at the Material Workflow in Assassin's Creed Valhalla · 80 Level · article · accessed 2026-10-21
  16. JamesRay, Dreyzie and others · Kinmel Hall UE4 Environment Study · Polycount, 2019 · forum · accessed 2026-10-21
  17. Adobe · Getting Started with Substance 3D Designer · Adobe Learn · course · accessed 2026-10-21

Last updated 2026-10-22