Search Issue Tracker

Fixed in 5.4.3



Found in


Issue ID




Issues with cube map sampler changes in 5.4



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. Hornets

    Jan 07, 2017 16:23

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

  2. Hornets

    Jan 07, 2017 14:10

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

Add comment

Log in to post comment

All about bugs

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