Search Issue Tracker

Fixed in Unity 5.4.3



Found in


Issue ID




Issues with cube map sampler changes in 5.4




Priority: 2Necessary for shipping a final release


Severity: 2Core functionality majorly impacted

According to "Upgrading to Unity 5.4" there are changes with how you sample unity_SpecCube1.

"Reflection probes share a sampler between the two textures. If you are sampling them manually in your shader, and get an “undeclared identifier samplerunity_SpecCube1” error, you’ll need to change code from UNITY_PASS_TEXCUBE(unity_SpecCube1) to UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1,unity_SpecCube0)."
It doesn't appear that we always use UNITY_PASS_TEXCUBE but usually use the other helper macros.

In the case of UNITY_SAMPLE_TEXCUBE we can just switch from UNITY_SAMPLE_TEXCUBE(unity_SpecCube1, coord) to UNITY_SAMPLE_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0, coord)

However there is no equivalent helper for lod samples. This exists UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube1, coord, lod) but this doesn't UNITY_SAMPLE_TEXCUBE_LOD_SAMPLER(unity_SpecCube1, unity_SpecCube0, coord, lod)

Is UNITY_SAMPLE_TEXCUBE_LOD_SAMPLER a helper macro that should exist but doesn't? If it should exist there are various other texture types that would also need UNITY_SAMPLE_*_LOD_SAMPLER equivalents.

Comments (2)

  1. C482818e3341e6f3c3bd90dcfcb35f7d?d=mm


    Jan 07, 2017 16:23

    What i wanted to say is that the problem still persists in 5.5 with GLES3

  2. C482818e3341e6f3c3bd90dcfcb35f7d?d=mm


    Jan 07, 2017 14:10

    This seems to only apply to GLES3. GLES2 works with UNITY_SAMPLE_TEXCUBE_LOD()

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.