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
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
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