Steps to reproduce:
1. Open the attached user's project "NullTransform2DAnimBug.zip"
2. Build and Run for Android
3. Press "[Swim]" to confirm that the first 2D animated fish will swim
4. Press the Toggle and then Scene buttons to load a second scene with a second animating character. You can tap the screen to set this fish's target point
5. After toggling the second character scene a couple times, you will notice warnings reported by the Jobs system about the 2D animation system code using the TransformAccessArray improperly
Expected Results: You should be able to load and unload scenes with 2D animated characters and not get this warning
Actual Results: The multiple warnings will now be output to Android logcat when either fish becomes visible in the scene
Reproducible with: 2022.3.63f1, 6000.0.50f1, 6000.1.6f1, 6000.2.0a4, 6000.2.0b5
Not reproducible with: 2021.3.52f1, 2022.3.62f1, 6000.0.46f1, 6000.1.0b14, 6000.2.0a3
Reproducible with these devices:
VLNQA00422 - Galaxy S21 Ultra 5G (SM-G998B), CPU: Exynos 2100, GPU: Mali-G78, OS: 11
VLNQA00381 - Xiaomi Redmi Note 8 Pro (Redmi Note 8 Pro), CPU: MediaTek Helios G90T MT6785T, GPU: Mali-G76 MC4, OS: 9
VLNQA00282 - Samsung Galaxy S10e USA (SM-G970U), CPU: Snapdragon 855 SM8150, GPU: Adreno 640, OS: 9
VLNQA00172 - Samsung Galaxy S8 (SM-G950F), CPU: Exynos 9 Octa 8895, GPU: Mali-G71, OS: 9
Environment tested: Windows 11 24H2
Notes:
-Issue does not reproduce in Editor
-The complete stack for the warning:
Adding null Transform to TransformAccessArray will result in degraded performance.
UnityEngine.U2D.Animation.TransformAccessJob:UpdateTransformIndex()
UnityEngine.U2D.Animation.TransformAccessJob:StartWorldToLocalJob()
UnityEngine.U2D.Animation.BaseDeformationSystem:PrepareDataForDeformation(JobHandle&, JobHandle&)
UnityEngine.U2D.Animation.CpuDeformationSystem:Update()
UnityEngine.U2D.Animation.DeformationManager:Update()