I’ve imported a project from Unity 2023 to 6 and now reflection probes are not showing on unlit shaders done with shader graph. Is this not supported anymore or am I missing something? Thanks!
Having the same issue.
This is definitely a bug from Unity.
Reflection Probes should be working regardless of Lit or Unlit. Unity should add the proper macros to grab the probes…
+1
I think that there is now a keyword that is required in order for reflection probes to work. If that’s the case, you’d need to add the keyword to the Blackboard and then sampling reflection probes would work again. Let me check on that and get back to you.
Hmm, I wasn’t able to find anything obvious that might be causing this. Will you file a bug on it, imagoFX? We’ll look into it further with the details you provide in the bug.
Hi @BenCloward
Hey very cool to see a super quick response from Unity on this matter.
I was able to create a custom Node in the shader graph that can grab Reflection Probe.
I can confirm it work with
- Unity 6000.0.27
- Unlit Shader
- Forward and Forward+
#ifndef SHADERGRAPH_PREVIEW
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#endif
// Material Keywords
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
#pragma multi_compile _ _FORWARD_PLUS
void GetCubemap_float(float3 ViewDirWS, float3 PositionWS, float3 NormalWS, float Roughness, out float3 Cubemap)
{
#ifdef SHADERGRAPH_PREVIEW
Cubemap = 0;
#else
half3 reflectionVector = reflect(-ViewDirWS, NormalWS);
Cubemap = GlossyEnvironmentReflection(reflectionVector, PositionWS, Roughness, 1.0, float2(0,0));
//Cubemap = GlossyEnvironmentReflection(reflectionVector, Roughness, 1.0);
#endif
}
This piece of code could certainly be improved but i let that for Unity.
I’ve filed a bug report IN-90927
@ jujunosuke
Thanks for the code but it didn’t work for me (6000.0.23)
Small update - reflections do work on the forward renderer but not on render plus
I think this is a known issue. No clue why its ‘by design’
Try the code here as well maybe?
No idea why it is “by design”. The code in the link Is basically the code jujunosuke gave. I’ll check the garden scene sample, maybe there’s something there…
thanks a lot. this works both in forward and plus. using Unity 6.0.30f
@BenCloward
Any thought on this?
The provided code seem to work.
So, I finally had the time to check things out. Using the code provided by jujunosuke on Unity 6000.0.39f1 on an unlit shader in the forward + rendering path the reflections disappear when I’m moving away from the reflection probe. Also, how can I make the reflection appear on the object uniformly and not just where the object intersects the reflection probe box?

Well the bad news is that i have exactly the same issue…
Man sorry but i am just so tired of trying to fix broken Shader Situation in Unity.
Its just so frustrating.
This code was just a band-aid and you can be sure that it will break soon anyway.
Unity are probably focusing on Shader Graph 2.0 at this point which is why all those things are not being fixed.
I went back to using the forward rendering path (not forward plus) and reflections are working as they should.
#ifndef SHADERGRAPH_PREVIEW
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#endif
// Material Keywords
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
#pragma multi_compile _ _FORWARD_PLUS
void GetCubemap_float(float3 ViewDirWS, float3 PositionWS, float3 NormalsWS, float2 NormalizedScreenSpaceUV, float Roughness, out float3 Cubemap)
{
#ifdef SHADERGRAPH_PREVIEW
Cubemap = 0;
#else
half3 reflectionVector = reflect(-normalize(ViewDirWS), normalize(NormalsWS));
half perceptualRoughness = Roughness;
float occlusion = 1;
Cubemap = GlossyEnvironmentReflection(reflectionVector, PositionWS, perceptualRoughness, occlusion, NormalizedScreenSpaceUV);
#endif
}
Hey i think i got it to work.
Somewhat the normalizedScreenSpaceUV are important.
Make sure you connect that to the node as well. (Screen Position Node)
EDIT
Well thinking about it it does make sense in Forward+ context, since the space is divided into cells and the screen space UV is important i guess.
I’ve run into a similar situation with my Amplify Shaders and I don’t know what happened. My custom shaders worked in previous versions of Unity and now Reflection Probes aren’t working with ANY of the shaders.
APV is working just fine, but something like this should be working right out the gate.
For shader based on Lit templates yes it should work out of box.
If unlit based, then you would need to add nodes to include subject lighting.
Please also test without any other 3rd party asset as they may not have been updated for latest unity changes yet. If can reproduce with a shader made with amplify shader editor feel free to contact us in discord or support thru email on how to reproduce.
Amplify Shader Editor V1.9.9.0 and or higher is updated to support Unity 6.0 6.1 and 6.2 “preview” at time of this post and we are actively working thru any reproducible issues in real-time as they are reported.
@jujunosuke thanks a lot for this bit.
I found this thread while scratching my head why I just couldn’t match the reflection of the default lit shader with my shader graph version (which is unlit). There is reflection but it’s just slightly off.
(red arrow is my result)
Curiously negating the normal doesn’t seem to have any effect on the Reflection Proeb node which seems like a bug to me.
In any case - your code works perfectly and matches the lit result. Thanks ![]()

