That’s what we call ‘Portals’ or ‘Get/Set Nodes’.
It’s on the roadmap here.
Stencil functionality, If possible.
That’s is planned, and high on our priority list, along with Depth Test and Depth Write and Blend Modes.
This is not specific to Shader Graph, but new in 6.3 and can be used in shader graphs.
That is great. Been waiting for this forever. The Shader graph team is doing really good work right now. (aside the broken stencils/layering in UGUI canvas graph)
Btw one small thing (outside of portals) thats been missing is a per mesh id which could be used to have a random colorization based on the obect ‘instance’.
Currently we have a confusingly named ID node which only works with GPU instancing however.
It would be good if we could have a ID node that worked just with the default mesh renderer id, so we can do randomized coloring tints and such.
///
Another thing that would be really amazing would be having access to the SSAO pass. That would allow really upgrading the graphics and a lot of creative uses - maybe URP has it but HDRP dosnt. More access to buffers could be very powerful in general. Currently the Unreal material editor biggest advantages are these:
- Access to the AO Pass
- Being able to write into the D-Buffer within decals (so a material can display damage given from a decal)
- Material Layering system / Having Wrappers for easy blending
Thank you for the feedback, Eric FFG.
The Custom Lighting Sample, (also new in Shader Graph in Unity 6.3) provides examples of how you can incorporate customized SSAO into your shader.
In order to customize the way that SSAO works, we’ve added a new check box in the Graph Inspector for the Unlit subtarget. It’s called “Default SSAO.” Unchecking the box turns off SSAO for the Unlit shader so that it’s no longer calculated under the hood. This means that you can sample the SSAO yourself in the graph and then customize its contribution to the lighting model. The Custom Lighting Sample provides a subgraph called Screen Space Ambient Occlusion that does just that - so you can add that subgraph to your graph and use its output however you’d like.
Hope that helps!
When I want to do something like this, I generally use the object’s position as a unique ID. So you can add the Object node to your graph and then use the Position output to your graph. If you add the X, Y, and Z values of the position together, multiply by a value, and then pass the result into a Fraction node, it gives you a fairly random value that you can use for varying the color of foliage or other similar things. It’s not as elegant as the solution you’re proposing, but it’s a solution that’s available now.
That’s something you can use the new Renderer Shader User Value for. You’d just need to assign a random value to the renderer with a custom MonoBehaviour.
Can we create a fullscreen shader with Shader Graph that also effect Screen Overlay based Canvas (not camera overlay)
Thanks
Great with 8 texture coordinates, finally!
Still waiting patiently for Pixel Depth Offset in URP.
Starting with 6000.4.0a1, we’ve added this as a User Preference.
You can now choose whether preview thumbnails are expanded or collapsed when you add new nodes.
Hello. Can I ask are there any plans, and if so then is there any ETA, on paring shader graph nodes and samples of HDRP in URP? For example in 6.3 you can use templates for HDRP Hair and Fabric shader. Is there a plan to have hair, fabric and other advanced shader templates for URP?
Thank you!
You might’ve seen it in the What’s New section. I’m happy to share that we’ve back ported this in 6000.3.1f1.
URP doesn’t have hair, fabric or any of the advanced shaders HDRP does, and no shader graph target either.
Is your question about
- adding those options to URP? Or
- providing shader graph templates that serve similar purpose with what we have at hand at the moment ; Lit and customizable Unlit targets?
@ FredMoreau Currently experiencing a bug when the ShaderGraph window is full screen:
Double click on a Subshader Node inside a Shader Graph to open it, on the created window (the Subshader graph) I can not zoom and move the shader graph, and if I close the window the Subshader Node is always in dragging mode, even if I never clicked on it.

Windowed mode works just fine.
Hi,
I just tried and couldn’t reproduce this. Is this in 6.3?
Please report a bug with as much detail ass possible.
Thanks!
yep 6.3, And Yes I will
Bug reported: IN-127448 Jira Service Management
With so many new graph targets (lit,unlit, sprite, canvas, hopefully simple lit, etc), is there maybe a better way to organize these?
Pick the end goal (3D, sprite, UI, etc) and then switch between unlit, simple lit, and lit there?
Hey @DevDunk,
thanks for voicing this out! And yes, we all agree our target/sub-target paradigm is off.
Ultimately, we want, like you suggest, pick a context (or domain), like Surface, Sprite or Decal, and eventually choose a behavior like Unlit, Lit, and ideally not have to worry about Render Pipeline specific implementations.
This won’t happen without a major refactor of our internal API, which we also want to make public.
This is already possible now with Unity 6.3. It sure is a bit counter intuitive, but you can build a simple lit using the Unlit target.
We also have some great sample content, you can read more about it here.