Search Issue Tracker

Won't Fix

Votes

0

Found in

4.3.0b4

Issue ID

567155

Regression

No

Surface shaders skip WorldReflectionVector if it only writes to custom fields

Shaders

-

Unity's shader generation optimizes out the entire reflection vector generation.

To reproduce:
1. Open Empy43b3 project
2. Open Shader.shader
3. Toggle the bottom line that works around the bug
4. Observe how cube map reflections completely disappear when not also written to Emission

This bug is due to a legitimate problem with Unity's shader analysis, where a certain parameter (in this case the specColor output from the DirLightmap lighting function) was not considered in the outputs, and so anything that only contributed to it - like Reflection in this case - was eliminated.

However this lighting function DirLightmap is no longer supported, and the new way of implementing the feature no longer suffers from the bug. So the bug no longer makes sense and there is no fix to make.

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.