A Sub Graph is a special type of Shader Graph. It is used to create graphs that can be referenced inside other graphs. This is useful when you wish to perform the same operations multiple times in one graph or across multiple graphs. A Sub Graph differs from a Shader Graph in 3 main ways:
- Properties in the Blackboard of a Sub Graph define the input Ports of a Sub Graph Node when the Sub Graph is referenced in another graph.
- A Sub-graph has its own asset type. For more information, including how to make a new Sub-graph, see Sub-graph Asset.
- A Sub Graph does not have a Master Node. Instead it has a Node called Output. For more information see below.
For components of a Sub-graph see:
The Output Node defines the output Ports of a Sub Graph Node when the Sub Graph is referenced in another graph. You can add and remove Ports using the Custom Port Menu available via the cog icon in the top right corner of the node.
Sub Graphs and Shader Stages
If a Node within a Sub Graph specifies a shader stage, such as how Sample Texture 2D Node specifies the fragment shader stage, then that entire Sub Graph is now locked to that stage. No Nodes that specify a different shader stage will be able to be connected to the Sub-graph Output Node and any Sub Graph Nodes that reference the graph will also be locked to that shader stage.