Search Issue Tracker
By Design
Votes
0
Found in
2022.3.17f1
2023.2.4f1
2023.3.0b1
Issue ID
UUM-59594
Regression
No
Blend shape vertex displacement buffer contains incorrect values when blend shapes are read asynchronously
How to reproduce:
1. Open the attached “blendshapes“ project
2. Open the “DreamingImLatios_HolidayExperiments2023” Scene (Assets/Dev Dungeons/DreamingImLatios/HolidayExperiments2023)
3. In the Hierarchy window, ensure the “HolidaySubscene” (checkbox) is enabled
4. Observe the Console window
Expected result: No errors or warnings are thrown
Actual result: The Console displays a warning, meshes are sometimes not rendered properly
Reproducible in: 2022.3.17f1, 2023.2.4f1, 2023.3.0b1
Could not test with 2021.3.34f1 (the project uses ECS which is not supported in Unity 2021)
Reproducible on: Windows 10, Windows 11
Not reproducible on: No other environments tested
Note: The retrieved values are inconsistent, which can prevent this issue from appearing at first when the project is opened. If no warnings are shown in the Console, disabling and re-enabling the “HolidaySubscene” in the Hierarchy window, or entering and exiting Play Mode will cause the mesh to re-bake and will likely make the warning appear.
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
- DisplayDialogComplex crashes with a long content string containg Cyrillic chars
- "Draw Additional Lights Shadowmap" calls increase when custom MaterialBlockProperty is used
- Crash on _platform_memmove when importing the "Dragon Crashers - URP 2D Sample Project" to a new 2D project
- "Shader is not supported on this GPU" warnings and and shaders are not loading when building the project for non-Chromium browsers
- [iOS][URP] The screen flickers and the "Execution of the command buffer was aborted due to an error during execution" error is thrown continuously
Resolution Note:
The third argument passed into 'AsyncGPUReadback.RequestIntoNativeArray' should be the size, in bytes, of the data to retrieve from the GraphicsBuffer. See first documentation link below. The code supplied does not pass in a size in bytes. Instead it passes in cpuBuffer.Length, where cpuBuffer is a NativeArray<BlendShapeVertexDisplacement> and BlendShapeVertexDisplacement is a struct consisting out of an uint and 3x float3. As a result only a part of the blend shape buffer is read back to the CPU. The rest of the memory in the cpu buffer is left uninitialized.
https://docs.unity3d.com/ScriptReference/Rendering.AsyncGPUReadback.RequestIntoNativeArray.html