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.
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
- Non-destructive. Adobe says "you can reverse any action without losing any of your work" (Substance 3D Designer documentation: Substance 3D Designer overview).
- Variants from one graph. Designer lets you "control nearly any aspect of a texture through a single slider or dropdown" (Substance 3D Designer documentation: Substance 3D Designer overview). Nathan Mackenzie describes a rock material that can be changed "with just a few sliders and in just a few seconds" and reused from jungle to tropical scenes (80 Level: Advanced Materials with Substance).
- Consistency across a team. Shared graphs and node libraries keep materials in one style. Naughty Dog's GDC 2016 talk covers the goals and evolution of the studio's Substance pipeline on Uncharted 4, from adopting physically based rendering to managing content (GDC Vault: Texturing Uncharted 4: a matter of Substance).
- Resolution independence. The graph can be re-exported at any resolution.
#How a graph is structured
Most graphs follow the same logic:
- 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…).
- 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…).
- Masks: extracted from the height at each stage.
- Outputs: colour via gradient maps, roughness via levels, normal and AO from height.
- 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:
- Author the material in Designer, InstaMAT or Material Maker and export textures.
- Combine and vary those textures in the engine's material graph: tiling, blending layers, vertex colour masks, detail maps and macro variation, triplanar and world-aligned mapping.
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:
- Unreal Engine: Adobe's plugin lets you "Tweak SBSARs directly in Unreal Engine" (adobe.com: Substance 3D for Unreal Engine).
- Unity: parameters "are accessible on the Substance Graph Object", the control type matches the parameter type, and a Random Seed button creates "a new result for the computed texture based on the seed value" (Substance 3D integrations documentation: Changing parameters).
- Substance 3D Painter: SBSAR materials appear as layers with their sliders.
#Further reading and watching
References
- · Substance 3D Designer overview · Substance 3D Designer documentation · docs · accessed 2026-10-21
- · Advanced Materials with Substance · 80 Level, 2017 · article · accessed 2026-10-21
- · Texturing Uncharted 4: a matter of Substance · GDC Vault, 2016 · talk · accessed 2026-10-21
- · Brick and Concrete Generator · ArtStation, 2023 · web · accessed 2026-10-21
- · River Rock Breakdown · ArtStation, 2023 · web · accessed 2026-10-21
- · Tutorial | Fundamentals Part 1: Pattern Creation and Natural Scattering · Gumroad · course · accessed 2026-10-21
- · 001AGT: Learning Substance Designer — Heightmap, Basecolor, Masks · 80 Level · article · accessed 2026-10-21
- · First Steps with Substance 3D Designer · Adobe Learn · course · accessed 2026-10-21
- · InstaMAT · instamaterial.com · tool · accessed 2026-10-21
- · Material Maker · materialmaker.org · tool · accessed 2026-10-21
- · Shader Nodes: Introduction (manual source) · Blender Manual (source repository) · docs · accessed 2026-10-21
- · Unreal Engine Materials · Unreal Engine documentation · docs · accessed 2026-10-21
- · Substance 3D for Unreal Engine · adobe.com · tool · accessed 2026-10-21
- · Changing parameters (Substance 3D for Unity) · Substance 3D integrations documentation · docs · accessed 2026-10-21
- · A Look at the Material Workflow in Assassin's Creed Valhalla · 80 Level · article · accessed 2026-10-21
- · Kinmel Hall UE4 Environment Study · Polycount, 2019 · forum · accessed 2026-10-21
- · Getting Started with Substance 3D Designer · Adobe Learn · course · accessed 2026-10-21
Pages that link here
- Roles in 3D game production Topic
- Texturing and material software Reference
- Procedural modeling Topic
- Modeling rocks, trees and terrain pieces Topic
- Primary, secondary and tertiary forms Topic
- Sculpting rocks and cliffs Guide
- Tileable sculpts Guide
- Baking Topic
- Height and displacement maps Key term
- Bit depth and banding Key term
- Ways to texture an environment Overview
- Smart materials Key term
- Tileable materials Topic
- Photo-sourced and scanned materials Topic
- De-lighting Key term
- Trim sheets Topic
- Texture atlases Topic
- Colour grading and LUTs Key term
- Heightfield erosion Key term
- Foliage and vegetation Topic
- The technical artist Topic
- Making (and reading) an art breakdown Guide
- Portfolio advice from industry professionals Reference
- Exercise: a trim sheet Exercise
- A 12-month learning roadmap Guide
- Essential talks and videos Reference
- Game art breakdowns: a curated library Reference
- Postmortems worth reading Reference
Last updated 2026-10-22