Graph instances / Sub-graphs
Understanding graph instances / sub-graphs
What is a "graph instance" or a "sub-graph" ?
Graph Instances and sub-Graphs are two synonyms. It's a graph that has been packaged together and turned into a reusable, standalone resource. Creating Graph Instances is mostly done internally inside Substance 3D Designer to make a new Node that can be used again in other graphs. Publishing involves and additional step to export to SBSAR format, making your Node-network Graph usable outside of Designer, such as when you create a Material for Unreal Engine, a Filter for Sampler or a Generator for Painter.
Why should I use graph instances?
Because they can save you tremendous amounts of time, allowing you to work much more efficiently. Any time you are duplicating one or more nodes in Designer, you could probably use Sub-Graphs to make things easier; once more than one node or more than a few parameters are involved, sub-graphing is the way to go!
How do you create a graph instance?
Every Graph is always usable as an Instance, if set up correctly. Just drag it from the explorer into another graph. To quickly take nodes out of a graph, use the right-click menu option "Create Graph from Selection", see below.
Minimum correct set-up means there has to be at least one output in your graph. For any more control, one should add Exposed Parameters and Input nodes.
If you want a sub-graph to be usable outside of Designer, you will have to Publish your package (containing the Graphs you want to use).
Can I add my own graph instances to the node library?
Can you inspect the source graph of a graph instance?
Yes, and only for instances of graphs loaded from a Substance 3D file (SBS). These instance nodes have a dark red label.
Right-click on the node to open its contextual menu and select the Open reference option.
It is not possible to inspect graphs loaded from Substance 3D asset (SBSAR) instances, as these are already compiled. You may only load the asset in the Explorer panel to inspect the exposed graphs list and their parameters. These instance nodes have a green label.
Right-click on the node to open its contextual menu and select the Load package option.
Atomic nodes are implemented directly through code in the Substance engine and are not instances of graphs, hence the name atomic: they are the smallest building blocks for all the other nodes in Substance graphs.