Last updated on
May 17, 2023
- Substance 3D home
- Ecosystems and Plugins
- Home
- Game Engines
- Unreal Engine
- Unreal Engine 5
- Unreal Engine 5 overview
- Unreal Engine 5 Release Notes
- Plugin Overview - UE5
- Plugin Settings - UE5
- Substance Input Image - UE5
- Material Instance Definition - UE5
- Material Template Usage - UE5
- Out-of-the-Box Material Templates
- Tiling Substance - UE5
- Substance 3D Plugin Default Templates
- Substance 3D Assets Library Usage - UE5
- Blueprints - UE5
- Unreal Engine 5 Scripting
- Installing to Source Builds
- Unreal Engine 5 overview
- Unreal Engine 4
- Unreal Engine 4 overview
- Unreal Engine 4 plugin release notes
- Unreal plugin 4.27.0.1
- Unreal plugin 4.26.0.21
- Unreal plugin 4.26.0.2
- Unreal plugin 4.26.0.1
- Unreal plugin 4.25.0.5
- Unreal plugin 4.25.0.4
- Unreal plugin 4.25.0.3
- Unreal plugin 4.24.0.3
- Unreal plugin 4.23.0.2
- Unreal plugin 4.23.0.1
- Unreal plugin 4.22.0.33
- Unreal plugin 4.22.0.32
- Unreal plugin 4.21.0.31
- Plugin Overview - UE4
- Plugin Settings - UE4
- Substance Input Image - UE4
- Material Instance Definition - UE4
- Tiling Substance - UE4
- Working with Bump Offset (Parallax) - UE4
- Working with Displacement - UE4
- Source in UE4
- Live Link in UE4
- Blueprints - UE4
- Unreal Engine 4 Scripting
- Unreal Engine 4 overview
- Unreal Engine 5
- Unity
- Unity overview
- Unity Release Notes
- Downloading Substance 3D Plugin in Unity
- Unity Plugin Overview
- Unity Preferences
- Optimization Guidelines
- Upgrading Projects/Known Issues
- Managing Substance Graphs
- Changing parameters
- Generated Textures (Packing)
- Rendering Color Space
- Using Image Inputs
- Publishing for Mobile
- Substance 3D for Unity Scripting
- Scripting in Unity (Deprecated)
- API Overview
- Scripting API
- C# Example Script
- Substance 3D Assets Library Usage
- Removing Substance Plugin
- Substance 3D in Unity Tutorials
- Physical Size in Unity
- Sharing sbsar Files Between Projects
- Unity overview
- Lumberyard
- Roblox
- Unreal Engine
- 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
- MODO overview
- 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
- Blender overview
- Creative Cloud Applications
- Renderers
- Partnerships
C# Example Script
Changing Parameters
using System.Collections; using System.Collections.Generic; using UnityEngine; using Substance.Game; public class scifiScript : MonoBehaviour { public Substance.Game.SubstanceGraph mySubstance; // Use this for initialization void Start () { UpdateSubstance(); } public void UpdateSubstance() { Color color = new Color(0.237f, 0.834f, 0.045f, 1.0f); Vector2 panelSize = new Vector2(0.101f, 0.209f); float wearLevel = 0.977f; // panel color mySubstance.SetInputColor("paint_color", color); // panel size mySubstance.SetInputVector2("square_open", panelSize); // wear level mySubstance.SetInputFloat("wear_level", wearLevel); // queue for render mySubstance.QueueForRender(); //render all substances async Substance.Game.Substance.RenderSubstancesAsync(); } }
Duplicate graph
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SubstanceScript : MonoBehaviour { // Start is called before the first frame update public Substance.Game.SubstanceGraph sgo; public GameObject cube2; public Color userColor; private Substance.Game.SubstanceGraph sgo2 = null; void Start() { //duplicate sgo if(sgo2 == null) { sgo2 = sgo.Duplicate();//duplicate graph sgo2.SetInputColor("paint_color",userColor); cube2.GetComponent<Renderer>().sharedMaterial = sgo2.material;//set material sgo2.QueueForRender();//queue for render sgo2.RenderAsync();//render graph Substance.Game.Substance.RenderSubstancesAsync();//render all substances async } } }