Unity 2018


The Substance in Unity plugin is currently in open beta and available on the Unity Asset Store. For release notes and beta information, please check the Beta Information page. 

The Substance plugin enables the use of Substance materials directly in Unity. Whether you are working on games, visualization, mobile or with mixed reality, Substance delivers a unique experience with optimized features for enhanced productivity.

Work faster, be more productive: Substance parameters allow for real-time texture updates in editor or at runtime.

With Substance in Unity, you can:

  • Import and customize physically-based Substance materials created in Substance Designer with support for Unity Standard and Standard (specular) shaders

  • Access the Substance Source library: over 1000 high-quality tweakable and export-ready 4K materials with presets.

  • Update Substance materials at runtime using C#

  • Update textures in real time using LiveLink with Substance Painter

Overview:

Downloading the Substance Package

  1. Go to Window>Asset Store search for Substance in Unity to download and import the Substance package. 

Importing a Substance Material 

  1. Right-click in the Project window and choose Import Asset. 
  2. Browse for the Substance .sbsar file you would like to use. 
  3. The Substance material will be imported into your Unity project. You can then drag and drop the material on a mesh in the Scene view and then edit the parameters in the Inspector. 



    Click here to view the tutorial course on Substance Academy



Substance Material Scripted Object

When you import a Substance, a Substance material object is created and is comprised of the following assets:

Substance sbsar root (Substance Graph Manager) SGM Allows you to create and rename Substance material instances. This is the sbsar that is imported into your Unity project.
Substance Graph Object (SGO) Contains the Substance parameters, Generated Textures and Target Settings
Substance texture outputs Textures generated by the Substance Engine
Material A Unity material that defaults to the Standard Shader with the Substance textures as inputs.  A material is constructed from a graph (SGO) in the sbsar file.

With the 2.2 plugin, we have updated the structure of the object to work with API changes in Unity 2018.3. The structure of the object will be different in 2018.3. 

Unity 2018.3

Unity 2018.2

Substance Resources in a Unity Project

Asset created in the Unity project Substance
Unity material Same as the name of the graph(s) the Unity material is based on
Substance texture output

A Substance texture is set to a channel in the Unity Standard material based on the Usage setting for the Substance Output. The Usage is set in Substance Designer.

The texture name is a composite of graph name AND usage name (with both component being separated by the substring " - ".

Output Usage:

Output Usage in Substance Designer determines how a Substance texture is set to a material channel in Unity. 
*Color Space should be left black so it will use the default settings controlled by the Substance plugin.