Core Concepts

Learn about the Substance ecosystem and its components.

Concepts like file formats, resource types, and graph fundamentals are all important to know about when working with Designer.

What is a Substance?

A Substance is a smart texture-generator. Substance files generate one or more 2D images based on parameters and inputs. The technology behind Substance, the Substance Engine, constantly recalculates the results when changes are made. Adjust parameters or inputs and a new 2D Texture is calculated without any loss of quality.

Being able to modify and customize Substance files makes them versatile tools, where your imagination is the only limit. You can create Substance files to:

  • Generate a random pattern.
  • Modify the look of an existing image.
  • Create a complete realistic material from scratch.
An animated gif showing variations of a brick wall created with Designer.
An example of a brick wall material by Kay Vriend - you can modify parameters to dynamically control the material's appearance.

File formats

Substance File (SBS)

Substance Files are the main source files for Designer. When you open a Substance file, you can view and edit all nodes in a graph. They are represented as packages that can contain any number of resources such as graphs, functions, bitmaps, and meshes.

Substance Archive (SBSAR)

Substance Archives are compiled, optimized Substance files. They are much faster to calculate than SBS files and can be used across applications without reference issues. You can still tweak parameters, but you cannot edit the graph.

Standard Image Formats (TGA, PNG, ...)

Designer supports exporting to many standard image formats. Export to standard formats to bring assets into any application that supports them. Images are static, so you lose any procedural, parametric, non-destructive functionality when you export an image from Designer.

Resource Types

Substance files can contain a large variety of resources that serve different purposes. You can only author some resources inside Designer, while other resources can come from external applications.

Substance Graphs


Substance graphs are the main resource type used in Designer. A Substance graph lets you generate and process 2D image data and then output it to one or more texture files. Usually, your project will revolve around one or more Substance graphs.

Substance Model Graphs

MDL Graph

Substance model graphs allow you to create procedural 3D meshes or models. Just like Substance graphs, Substance model graphs have parameters that can be controlled in other applications to customize results.



Functions are more complex and abstract. Functions don't process image data, instead they process single values like integers, floats, and vectors. Use functions when you want to perform more complicated operations or if you want to fine-tune specific behaviors. Functions do not work stand-alone and they are not used outside the context of Substance Graphs.

MDL Graphs

MDL Graph

MDL graphs are a special type of graph resource that can be authored inside Designer. MDL stands for Material Definition Language. MDL graphs are part of a more advanced workflow and are used as a portable, generalized format.

Non-Graph Resources


Non-Graph resources can come from external applications (such as Photoshop or modeling applications), while some can also be created inside Designer. The major difference is that they are not node-based graphs. Most non-graph resources are elements to be used inside or alongside the previously mentioned graph types.

Designer supports the following non-graph resource types:

  • Bitmaps
  • Vector Graphics (SVG)
  • 3D Mesh
  • Font
  • 3D Scene
  • AxF

Graph Concepts

Substance Designer lets you build large, complicated graphs. When you create Graphs, there are some key concepts you should understand. Use the concepts below to work faster and more efficiently.

Graph Data Direction

Data Direction
Data flows from left to right.

When you connect nodes together, data flows from left to right. The chain of logic begins to the left, each node you add performs an operation on its input. When the chain terminates in an output node, you generate an actual 2D texture.

Instance Graphs

Graph Instance

You can use any Graph as a "Graph Instance" inside another graph. Create an instance of your graph by dragging it into another graph. This workflow allows you to reuse common chains of nodes, saving time. For example if you create a node that creates a weathering effect, you would be able to reuse it every time you start a new texture.

Expose Parameters


You might want to make your graphs customizable wherever they are instanced. To do so, you need to expose parameters. Exposing a parameter creates control elements that affect the final result of a Graph. For example, a weathering effect graph instance might have sliders and dropdowns to determine the strength and style of the weathering effect. To find out more about exposing parameters, read this article.

What's next?

Find out how to create packages and graphs so you can get started on your own creations.

Have a question or an idea?

If you have a question or an idea to share, join other Designer users in the Substance 3D Designer Community. Get help, make suggestions that could be incorporated into Designer, or show off your work and techniques.

If you have new ideas for Designer nodes or features, share them with us here!


Get help faster and easier

New user?

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online