Sub-graph
Description
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 SubGraphOutputs. For more information see below.
For components of a Sub-graph see:
SubGraphOutputs
The SubGraphOutputs 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 Add Slot and Remove Slot buttons.
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.