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

Graphics - LowLevel

-

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

  1. 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

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.