Hi,
Unity 6000.5.0a8 is out and available today, and along with the new Shader Function Reflection API, announced in this other thread, comes a new Shader Graph Node:
The Expression Node.
Graphs are great for visualizing logic and data flow, but at times simple math can quickly clutter a graph, and setting up a Subgraph isn’t worth the extra effort.
Code is great to inline math operations and intrinsic functions, but sometimes it’s overkill to use a Custom Function Node for a simple expression.
This is where the new Expression Node comes handy.
It allows you to enter a simple expression in the form a + b * c, and it will automatically set the node’s topology based on variables found in the expression.
Here’s a short demo:
What works:
- Math operators (+, -, *, /)
- HLSL intrinsic functions (frac, saturate, etc)
- Swizzling (a.x)
- Vector construction (float2(x, y))
Some example use cases.
Known limitations & Future Improvements:
As of 6000.5.0a8, the following is not yet supported but is either planned or under consideration:
- The node won’t show in the Node Search when dragging out of an output connector. It must be created and initialized with an expression for the node to feature input ports.
- The vector length is the same for all ports (input and output).
As always, your feedback is greatly appreciated.

