Search Issue Tracker
By Design
Votes
1
Found in
2018.1.0b8
2018.3.0f2
Issue ID
1149459
Regression
No
Changes in the Code of a ScriptedImporter alter .meta files of Reimported files even though the file didn't change the Structure
Changes to the Import Code of a ScriptedImporter which alters the structure of the Imported Object, even when there are no changes to the Original Source, result in changes to the associated .meta file. This results in .meta files changing for Users when they get new code even though they didn't change any of their content, which
confuses and concerns content creators. The contents of a .meta file are obtuse enough that most content creators (or even most engineers) are not able to determine if the changes are intentional or not. However, content creators can't just ignore .meta files, because they sometimes contain importer settings that are important for them (e.g. .fbx importers).
To reproduce:
1. Download attached project and open in Unity
2. Copy the file Assets / Data / Test.data.meta outside of the Unity Assets directory
3. In the Editor, click the Repro > Alternate menu item (it won't change appearance)
4. In the Project window, select Assets / Data / Test, right-click, and select Reimport
5. Check Assets / Data / Test.data.meta differences with the copy You made in the prior step
Expected results: Both .meta files are identical
Actual results: Both .meta files are different
Notes:
- This issue appears on both Windows and macOS
- On Unity 2019.* the process around Custom Import Script has changed but it wasn’t a bugfix, rather a “New Feature”
- On Unity 2018.1.0b7 and lower .meta files had another structure, so there was no Repro
- Project and .meta files differences are in the Comments section
Reproduced on Unity 2018.1.0b8, 2018.1.9f2, 2018.2.21f1 and 2018.3.14f1
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
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Resolution Note:
FileIDs are stored in the .meta file for versions of Unity up to and including 2018.3. Starting with Unity 2019.1, fileIDs are generated deterministically by hashing the sub-asset name and are no longer stored in the .meta file.