Search Issue Tracker

Fixed in 8.0.0-pre.4

Fixed in 3.2.16, 5.1.0, 7.0.4

Votes

0

Found in [Package]

5.0.8

Issue ID

1377867

Regression

No

[2D Animation] Occasional crash when using SpriteSkin and AlwaysUpdate toggled off

Package: 2D Animation

-

Issue:
When a SpriteSkin has its Always Update flag toggled off and is outside of the camera's frustum, the Sprite Skin does not clear the deformable buffer sent into the Sprite Renderer, even though the memory for this deformable buffer will be used for other Sprite Skins. A crash can occur if the Sprite Skin later is moved into the frustum and tries to render without first having its deformable buffer refreshed with new valid data.

Repro steps:
Unfortunately, this issue is difficult to reproduce, as it is based on chance. What the QA can try to do is:
- Have multiple Sprite Skins in a scene. All with their AlwaysUpdate flag toggled off.
- Move one Sprite Skin outside of the camera's frustum
- Wait a few frames
- Move the Sprite Skin back into the camera's frustum
- Crash might occur

Steps to validate fix:
- Have multiple Sprite Skins in a scene. All with their AlwaysUpdate flag toggled off.
- Move one Sprite Skin outside of the camera's frustum
- Verify that the SpriteRenderer on the same GameObject as the Sprite Skin has its deformable buffer (m_Deformed) is NULL.
- This can be done by building the editor and placing a break point in the C++ side of the editor

  1. Resolution Note (fix version 5.1.0):

    Fix for this issue is available in 2D Animation package 5.1.0 on Unity 2020.3.28f1 and above

  2. Resolution Note (fix version 3.2.16):

    Fix for this issue is available on Unity 2019.4.36f1 and above

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.