Search Issue Tracker

Fixed in 2020.1.X

Votes

0

Found in

Issue ID

1214122

Regression

No

Investigate why .meta files are sometimes not parsed right

Asset - Database

-

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:

https://github.cds.internal.unity3d.com/unity/xr.sdk.magicleap/blob/master/Packages/com.unity.xr.magicleap/Runtime/Compatibility.cs.meta

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]

  1. Resolution Note (fix version 2020.1):

    Fixed with 2020.2.0a12

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.