Search Issue Tracker
Fixed in 2020.1.X
Investigate why .meta files are sometimes not parsed right
The FileHasher.cpp emits an error whenever particular entries in a .meta file are mistaken for something which is not a Scalar value.
It has been noticed that when a .meta file ends with two spaces (the YAML standard for indentation) it sometimes mistakes the entry above it as being a mapping node.
One example can be found in this file:
Where assetBundleVariant: is followed by a new line, and then 2 space characters (ascii value 32) before reaching the EOF marker.
Steps to reproduce:
- Create a new Unity project
- Create a new asset (a script for example)
- Close the project
- Find the location where the asset was created, and modify the matching *.meta file in a text editor
- Modify the end of the file so the last line is a line with 2 spaces, preceded by the "assetBundleVariant: " line
- Re-open the the project in Unity
- Observe that in approximately 1 of every 20 attempts to reproduce, an exception will appear in the console:
Unable to parse file Assets/NewBehaviourScript.cs.meta: [Parser Failure at line 13: Expect ':' between key and value within mapping]
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- No proper error message when mismatching player build and editor version
- MouseMoveEvent returns a positive Position when the Cursor leaves the Window
- Detail Maps packed differently in Built-in vs URP
- Editor crashes when compiling scripts if UNITY_DIAG_ENABLE_DOMAIN_RELOAD_TIMINGS environemnt variable is set
- ScriptableObject serialized fields get unassigned after importing when the 'Auto Refresh' is disabled