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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
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