Search Issue Tracker

By Design

Votes

0

Found in

2018.3.0f1

2019.1.7f1

2019.2.0a1

2019.3.0a1

2020.1.0a1

Issue ID

1183185

Regression

No

Unlit Shaders on Mesh objects call ForwardAdd and ForwardBase in the wrong order when using Static Batching

Graphics - General

-

How to reproduce:
1. Open User's attached "SurfaceShaderUsePassBug.zip" project ("Switch target" if prompted)
2. Load "SampleScene" found in the Scenes folder
3. Enter the Play mode
4. Observe four big squares in the middle (green and yellow with green squares) for a couple of seconds

Expected result: all squares stay lit (as visible in Scene mode) as Camera moves Z-axis
Actual result: middle four squares (Mesh objects) do not stay lit as Camera moves Z-axis

Reproduced in: 2018.4.11f1, 2019.2.10f1, 2019.3.0b7, 2020.1.0a9
Could not reproduce in: 2017.4.33f1 ("Unknown shader channel count" console error)

Notes:
- the issue is visible only in the Play mode
- not reproduced with Sprite Renderer object instead of a Mesh object
- reproduced with newly created default Unlit Shader (User uses a custom Unlit Shader)
- in versions 2019.3.0b7 and above Quad Mesh appears to stay lit, while Simple Generated Mesh still encounters this issue
- one workaround would be to add "DisableBatching"="True" tag to the shader
- another workaround would be to either disable Batching or use only Dynamic batching through Project settings -> Player

  1. Resolution Note:

    the objects are static batched so rendering order has a possibility that it won't queue up the same way compared to not batching

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.