Search Issue Tracker
By Design
Votes
0
Found in
2019.3.15f1
2019.4
2020.2
Issue ID
1278583
Regression
No
Setting a vector value in the array returned by GetBatchVectorArray does not result in the value being set in the GPU
How to reproduce:
1. Open the user's attached project
2. From the 'Scenes' folder open 'SampleScene'
3. Enter the Play mode
Expected result: The 'GameObject' cube is green
Actual result: The 'GameObject' cube is blue
Reproducible with: 2019.4.11f1, 2020.1.6f1, 2020.2.0b4
Cannot test with: 2018.4.27f1 (due to errors)
Notes:
- reproducible with OpenGLCore, OpenGLES2, OpenGLES3, Direct3D11, Direct3D12, Vulkan graphics APIs
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
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Resolution Note (2020.2.X):
The BatchRendererGroup GetBatchVectorArray (and similar functions) work only with ShaderGraph properties. Your project is using the built-in pipeline. You need to install URP or HDRP and ShaderGraph. Then you need to create ShaderGraph shader and add a property with the same name that you are overriding with GetBatchVectorArray. That property mush have "Hybrid Instanced" checkbox set.
For more info how to setup shaders for BatchRendererGroup, refer to the "Setting up shaders for Hybrid Renderer V1" section in this document:
https://docs.unity3d.com/Packages/com.unity.rendering.hybrid@0.10/manual/index.html