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.
- ShaderUtil.GetShaderData(shader).SubshaderCount does not count unsupported subshader
- GameObject.GetComponents returns the wrong number of components
- GUI button looks different from Editor in a Build
- Live Profiler Timeline keeps losing frame data while scrolling inside Profiler window
- Input.mouseScrollDelta.y is not correctly mapped to mouse wheel when running an iOS app on Apple Silicon Mac