- 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
Blueprint(UE5): Node Reference
General Substance Nodes:
Name | Inputs | Description |
---|---|---|
GetSubstances | Input: Material | Returns an array of Substance Graph Instances used by a material. If you create a material that uses texture outputs from two different graph instance, this function will return those two graph instances. |
GetSubstanceTextures | Input: SubstanceGraphInstance | Returns an array of all enabled and currently computed textures from the Substance Graph Instance input parameter. |
GetGraphName | Input: SubstanceGraphInstance | Returns the graph name as set in Designer. |
GetFactoryName | Input: SubstanceGraphInstance | Returns the name of the GraphInstanceFactory that was used to create the SubstanceGraphInstance that is passed into this node. |
GetSubstanceLoadingProgress | NONE | Returns a float between 0 and 1 with the percentage of how many substances have been fully loaded. |
CreateGraphInstance | Input: SubstanceInstanceFactory - The factory which you want to create a graph instance from. Input: GraphIndex (int) - The index of the graph you want to create. Input: InstanceName (FString) - The name you want your new Instance to have. | Returns a new standalone graph instance that will persist until your application closes. |
DuplicateGraphInstance | SubstanceGraphInstance - The graph instance you would like to create a copy of. | Returns a new standalone graph instance that will persist until your application closes. |
EnableInstanceOutputs | Input: SubstanceGraphInstance - The graph instance containing the output to enable
Input: OutputIndices (int32 Array) - The indices of the outputs you want to enable. | If previously disabled, creates the texture output(s) of passed in SubstanceGraphInstance. This has the same functionality as enabling output from the SubstanceGraphInstance Editor. NOTE: This will not update your material with the newly created texture. This needs to be handled by setting a sampler parameter at runtime using the new output. |
DisableInstanceOutputs | Input: SubstanceGraphInstance - The graph instance containing the output to disable | If enabled, will disable and delete the texture output for the passed in the graph object |
CopyInputParameters | Input: SubstanceGraphInstance - The graph instance you want to apply values to Input: SubstanceGraphInstance - The graph instance you want to get the values from | Restores all of the changed input values of the Substance Graph Instance input parameter. |
ResetInputParameters | Input: SubstanceGraphInstance | Reset the input values of a Substance Graph Instance to their default values |
SetGraphInstanceOutputSize | Input: SubstanceGraphInstance Input: Width - Texture Resolution of the X coordinate Input: Height - Texture Resolution of the Y coordinate | Sets texture resolution of all of the outputs generated from this graph instance with the sizes passed in from the parameters. Note - Max 2048 on CPU Engine Note - Max 4096 on GPU Engine |
AsyncRendering | SubstanceGraphInstance | Recomputes output textures of the Substance Graph Instance input. (Non blocking) |
SyncRendering | SubstanceGraphInstance | Recomputes output textures of the Substance Graph Instance input. (Blocking) |
Graph Instance Specific Functions:
Can only be called from a graph instance
Name | Input | Description |
---|---|---|
GetDynamicMaterialInstance | Input: Name (String) | Returns the runtime dynamic material instance of a substance or creates one if one does not exist. Dynamic material instances are rquired for most runtime value changes from substance value outputs. |
GetInputNames | NONE | Returns an array of Strings containing all of the input parameter names. |
GetInputType | NONE | Returns the data type associated with this input. |
SetInputInt | Input: Identifier (String) Input: InputValues (int array) | Change the value of an input found by the Identifier. From within a game, must render substance using AyncRender or SyncRender for changes to be applied. |
SetInputFloat | Input: Identifier (String) Input: InputValues (float array) | Change the value of an input found by the Identifier. From within a game, must render substance using AyncRender or SyncRender for changes to be applied. |
GetInputInt | Input: Identifier (String) | Returns an array of ints with the current values of an input parameter. |
GetInputFloat | Identifier (String) | Returns an array of floats with the current values of an input parameter. |
SetInputBool | Input: Bool (Boolean) Input: Identifier (String) | Takes in a boolean value to assign a togglable input value type. Previously, this was only achievable by setting an int value of either a 1 or a 0 casted to a bool. |
GetInputBool | Input: Identifier (String) | Returns the current boolean value of an input. |
SetIputColor | Input: Color (LinearColor) Input: Identifier (FString) | Takes in a FLinearColor value to assign a color input value type to. Previously, this was only achievable by setting a float value and passing in an array of floats. |
GetInputColor | Input: Identifier (FString) | Returns the current color value in UE4 format. |
CreateAggregateSubstanceFactory | Input: Output Factory (SubstanceInstanceFactory) The factory creating the outputs that will be used as input to the Input factory. Input: Output Factory Graph Index (Integer) Which graph within the substance you would like to use to combine. Input: Input Factory (SubstanceInputFactory) The factory using the outputs as input images from the Output Factory. Input: Connections (Array of SubstanceConnections) This can be created using the blueprint node Make Array. A substance connection is how you can the aggregate node which inputs to link to which outputs.
Can be used to create a graph instance of the new combined instance. | The new aggregate substance node allows you to take two substance instance factories and create a new instance factory at runtime, which can be used to create a new graph instance. What makes this special is that you can connect output textures from one of the combined graph instances to input images of the other combined graph instance. To create a substance graph instance from this new factory, see our documentation on runtime graph instances. |
SubstanceConnectionStruct | Input: Output Identifier (FString) The identifier of the texture output to chain into an input. Input: Input Identifier (FString) | Used by Create Aggregate Substance Factory to specify how to chain each output texture with new input textures. |