Search Issue Tracker
Fixed in 2021.3.19f1, 2022.2.6f1, 2023.1.0b3, 2023.2.0a1
[Texture][Version Control] Importing certain textures with multiple sprites cause arbitrary changes in nameFileIdTable mapping in meta file
Steps to reproduce:
1. Open the attached user's project "My project (1).zip"
2. Setup Plastic SCM and complete the initial commit
3. Reimport "Assets/CombatThemes/Tileset_Boneyard.png"
4. Check the Plastic SCM "Pending Changes" window to see that the file has pending changes (See the attached AfterReimport.png)
Expected results: When setting the exact same settings as previously used for importing, the meta file should not change arbitrarily. As the mapping is a simple string to id map, its order does not matter, and should not then change if the mapping does not change
Actual results: after the reimport, the metafile has arbitrary changes in the nameFileIdTable mapping, causing it to show up as changed file in the version control
Reproducible on: 2021.3.16f1, 2022.2.2f1, 2023.1.0a10
Not reproducible on: 2023.1.0a25, 2023.1.0a11
Unable to test on 2020.3.44f1 due to nameFieldTable being introduced in 2021.3
- The asset is preprocessed using TextureAssetPostProcessor.cs, which sets some importing flags. If this importer is disabled (ie. the SetTextureSettings and SetPlatformTextureSettings are ignored), the issue does not reproduce. However, if we don't do those settings, then Unity starts to complain about asset inconsistency
- This also reproduces with git instead of Plastic SCM
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- [2023.2] HDRP Asset Settings Helper throws a NullReferenceException
- [URP] SubmitRenderRequest with NativeRenderPass + Upscaling doesn't work
- “ArgumentOutOfRangeException” error appears when inserting a double character if using “SetValueWithoutNotify” on UI Toolkit’s TextField
- Particle System emission delays between particle generations when playing the simulation
- EditorUtility.DisplayDialog is not shown when Input.GetMouseButtonDown is called a second time