Search Issue Tracker
Won't Fix
Votes
0
Found in [Package]
2022.2.0
Issue ID
DANB-23
Regression
No
Automatic Mesh Generation for 2D Rigs in the Skinning Editor Is Significantly Slower in Unity 2021 Than in Unity 2020
1. What happened
Using automatic mesh generation on the same rig in Unity 2021 can take up to 30 times longer than in Unity 2020.
2. How can we reproduce it using the example you attached
A. Navigate to the skinning editor for the ""Test_Rig" PSB file.
B. Select "Auto Weights."
C. Set "Outline Detail" and "Subdivide" to 100, and "Alpha Tolerance" to 0.
D. Select "Generate For All Visible."
E. On my machine, this process takes 45-60 seconds, while in Unity 2020 it would only take 2-5 seconds.
3. Notes
The "Test_Rig" PSB is a very large file (4096x4096), however, the file size does not seem to be the main factor impacting load times. If you use the same repro steps listed above on the "Test_Rig_Complex" PSB file in the project, the load times for automatic mesh generation are significantly shorter despite the file size being the same and the rig being much more complex.
4. Test versions used for 2020
Unity 2020.3.33f1
2D Animation 5.2.1
2D PSD Importer 4.3.0
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
- RenderPipelineManager.activeRenderPipelineTypeChanged does not detect changes when changing the Render Pipeline Asset outside of Play Mode
- The Scene View becomes gray and "NullReferenceException" errors are thrown when attaching the Unity Editor process to RenderDoc
- Memory usage rapidly rises when changing colors in the color wheel
- Physically Based Sky's Horizon and Zenith Tint Color Selection Bars don't have immediate access to color pickers
- EmptyAdditionalLightShadowmapTexture leaks from memory when URP quality level is changed using QualitySettings.SetQualityLevel
Resolution Note:
The slow down for mesh generation from Unity 2020 to 2021 is By Design.
We have rewritten the system so that it does a lot more checks for invalid data and also provides a fallback compared to before, hence the longer generation times