Project Preferences

Substance Designer allows you to create preferences per project, and then share them on other computers.

This is very helpful if you want to set up a working environment common to all the people working on the same project.

To enable this shared working environment you should choose the same "Project File" on all computers.


Configuration File

 This allows you to set the path of the configuration file of Substance Designer.

You can use this command line option: --config-file <path> to launch Substance Designer with a specific config file.

Project Files

Each Project can have its own configuration files. You should share this file if you want to set up the same environment on different computers.

Compatibility Mode

Some of the nodes created with a recent version of Substance Designer are not compatible with an older version of the Substance Engine.

The compatibility mode will highlight the nodes which won't be compatible with the selected Substance Engine. These nodes will be outlined in yellow.

Substance Engine Compatibility



Substance Painter 1.3.3Substance Engine V5
Substance Player 5.0Substance Engine V5
UE 4.6 from
UE 4.7 from
Substance Engine V5
Unity 5.0.1 p1Substance Engine V5
iClone 6.1Substance Engine V5
Cinema 4DSubstance Engine V5

Unity 5.0 and previousSubstance Engine V4
UE 4.5 and previousSubstance Engine V4
3ds MaxSubstance Engine V4
MayaSubstance Engine V4
modo 801Substance Engine V4
Substance Painter 1.3.2 and previousSubstance Engine V4
Substance Player 4.6Substance Engine V4
iClone 6Substance Engine V4


3D View

This lets you define the default shader, and the default environment map location.


This allows you to add or tweak aliases.


This gives you the option to specify the nomenclature that will to be used in the macros, and to find low & high resolution mesh correspondences.


This lets you modify the general settings of Substance Designer.

Templates Directories

This lets you set/add directories to load the templates.

3D Scenes

This allows you to choose and set up the tangent space plugin that should be used by Substance Designer.

These settings are intended for advanced users: leave them at their default values if you are unsure how to best use them.

Normal Maps Default Behavior

(Introduced in Substance Designer 6)

This option lets you specify the default behavior of the Normal maps within Substance Designer, for the default Normal node and the material.

Only the Atomic Normal node is affected by this setting. Normal (Sobel) node and any other Graph instances related to normal manipulation are not (yet) affected.

Image Formats

(Introduced in Substance Designer 6)

This lets you specify the default format settings for the saved images.


You can exclude one or multiple extensions by adding them to the 'Exclude pattern' column, separated by a semi-colon (ex:"jpg;png)

This lets you specify your own library path, so she can add your personal data to the library.

MDL Paths

This allows you to specify custom paths to MDL directories.


Scripting Actions

This option allows you to set the path and activate/deactivate Python, that has to be started when Substance Designer is running:

  • onBeforeFileSaved: active just before a file is saved
  • onAfterFileSaved: active just after a file is saved
  • getGraphExportOptions:

Python Interpreters

This lets you specify the location of the Python executable (mandatory, in order for scripts to work).

Version Control


Workspace Properties


Perforce is the only tool which is currently supported for version control.

The Version control System will display all the  actions  available on a package: a s the package is stored on the disk, Substance Designer will detect which Perforce Repository has been defined that contains the package, and purpose the corresponding actions.

  • In order to help ensure that multiple artists on a project have placed their extracted Perforce repositories in the same location, you can create an R: drive location, for example (by using the 'subst' command); repositories on all concerned computers can be placed, and detected, here. 
    • To allow this, you will simply have to set up the version control component in your project in SD, and put this file on Perforce.

How should you use this?

You should put all preferences that are specific to a Game project in a project file in Substance Designer.

  • Tangent space plugin 
  • Version Control settings (require all concerned artists to place the repository in the same location)
  • Library 
  • Aliases
  • 3D View 
  • Baking information (so that artists will all generate the same resource names)

All the paths are stored relative to the project file (.spsprj), so you can have the following directory tree under Perforce:

  • my_project.sbsprj library/
    • maps
    • meshes
    • substances
    • ...
    • the tangent space plugin, if needed 
    • the default shader, if any

You should then place the configuration file (.sbscfg) and the project files (.sbsprj) under Perforce.