Custom Shader FX Nodes - No Boilerplate
Unity 6.5 adds a Shader Function Reflection API that turns ordinary HLSL functions into Shader Graph nodes through reflection. Instead of building a Custom Function node and wiring up extra C# or editor code, you annotate the function minimally and Unity infers the node UI and ports for you.
The practical upside is less friction when iterating on shader logic. The demo in the article covers a scrolling UV node, a colorize effect, and a procedural lava material, all built from clean HLSL with live hot reload. For teams that prototype a lot of materials or expose shader controls to artists, that cuts down on repetitive setup and makes custom nodes feel much closer to normal code.
The API also supports richer node metadata than the old “one input, one output” style many teams are used to. The article calls out proper ports, color pickers, sliders, and multiple outputs, which is the kind of detail that matters when you want Shader Graph nodes to behave like first-class tools rather than hacks wrapped around a function call.
There’s a useful broader context here: Unity has been steadily trying to make Shader Graph more extensible without forcing teams into editor scripting. If this reflection-based workflow holds up in production, it could become the preferred path for studios that want custom shader building blocks but don’t want to maintain a pile of bespoke node code.
“Write normal HLSL functions... Unity automatically turns them into fully-featured Shader Graph nodes.”
- what
- Unity 6.5 introduces a Shader Function Reflection API for Shader Graph.
- who
- The article is by git-amend / Adam Myhre, discussing Unity’s shader tooling.
- when
- The video is current to Unity 6.5; no specific release date is given.
- impact
- Lets developers turn HLSL functions into Shader Graph nodes with minimal boilerplate and no C#.
Clearly improves shader workflow and iteration speed
Follow Unity updates
See relevant stories in your personalized news feed.
Discussion