- Home
-
3D Applications
- Maya
- 3ds Max
-
MODO
- MODO overview
- Modo Plugin Release Notes
- Substance in MODO Overview
- Modo Installation
- Parameters
- Custom Materials
- Working with Normals
- Working with Emissive
- Bump and Displacement
- Working with References
- Animating Substances
- Copy/Duplicate Substance
- Environment and Rendering Setup
- Modo Switch Engine
- Tiling Modo textures
- Cinema 4D
- Houdini
-
Blender
- Blender overview
- Release Notes
- Substance in Blender Overview
- Downloading and Installing the Plugin
- Preferences
- The Substance 3D Panel
- Shortcuts and Navigation
- Workflows
- Physical size in Blender
- Substance 3D Assets Library
- Troubleshooting
- Uninstalling the Add-on
- Substance 3D Add-on for Blender Tutorials
- Creative Cloud Applications
-
Renderers
- Converting Substance outputs
- Color Management
- Arnold
- Vray
- Renderman
- Redshift
- Maxwell
- Corona
- Octane
- Keyshot
- Thea
- Maverick
- Toolbag
- Cycles and Eevee
- Partnerships
Scripting in Unity (Deprecated)
The content below might not be applicable with the new Substance 3D Plugin
This section of the documentation contains details on the Substance API that we provide via the Substance plugin. Using the Substance API, you can write scripts to update and change Substance parameters at runtime.
Table of Contents
API Overview
Substance.Game
Using Substance.Game
Substance.Game is the assembly that contains the classes used for scripting. These classes are as follows:
Substance.Game.Substance: References the sbsar
Substance.Game.SubstanceGraph: Individual graph in the sbsar. (used to be ProceduralMaterial in Unity 2017)
Scripting Process
- Create an instance of SubstanceGraph
Set parameters on the graph instance.
Example
// panel color mySubstance.SetInputColor("paint_color", color); // panel size mySubstance.SetInputVector2("square_open", panelSize); // wear level mySubstance.SetInputFloat("wear_level", wearLevel);
The value in quotes is the parameter Identifier set in Substance Designer.
In the Unity Inspector, you can mouse over a parameter to reveal a tooltip that showcases the name of the Identifier set in Substance Designer.
3. Queue the Substance for Rendering: QueueForRender() will add the substance graph to a queue. This list will be processed by the next call to RenderSubstancesAsync or RenderSubstancesSync.
SubstanceGraph Instance
// queue the substance to render mySubstance.QueueForRender(); //render all substances async Substance.Game.Substance.RenderSubstancesAsync();


Currently, we only support x86_64 Architecture. You need to set x86_64 in the Build Settings