Search Issue Tracker
By Design
Votes
0
Found in
2019.4
2020.3
2020.3.32f1
2021.3
2022.1
2022.2
Issue ID
1416425
Regression
No
Surface shaders do not correctly set unity_StereoEyeIndex when using Single Pass Instanced rendering in VR
Steps to reproduce:
1. Open the attached "StereoSurfaceShaderBug.zip" project
2. Enter Play Mode and in the Game view observe that the Quad is displayed green on the left display and red on the right display
3. Select the TestMaterial in the Assets folder
4. In the Inspector change the Shader property to Custom/SurfaceShaderWithBug
5. Observe the Game view
Expected result: the Quad is displayed green on the left display and red on the right display
Actual result: the Quad is displayed green in both the left and the right displays
Reproducible with: 2019.4.38f1, 2020.3.33f1, 2021.3.0f1, 2022.1.0b16, 2022.2.0a10
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- The Selection Wire Gizmo is not being rendered in the Scene View when GPU Resident Drawer is enabled
- Visual Effect with Single Burst Spawn System stops playing when an Additive Scene is loaded asynchronously with SceneManager.LoadSceneAsync
- The sprite draw calls are batched in the Player when the Sprite Atlas is uploaded from an AssetBundle and the Sprite Atlas Mode is set to Disabled
- The Joint Anchor position remains the same when the GameObject is dynamically scaled
- [Android] Selection of text in the InputField is not being removed when pressing the backspace button on Android Devices
Resolution Note:
To fix this, simply remove the line "UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN);" from the surface function. This line is already emitted in surface shaders and adding it inside the surface function is overwriting unity_StereoEyeIndex with zero.