Confirmed as a reproducible bug on 2018.3. Case #1114464 My project has been around for a while, and it has been updated for various Unity releases over the years. We have a number of scripts that have used the FormerlySerializedAs attribute on MonoBehaviour fields. That has worked well for us until now. After upgrading the project to 2018.3, it seems like all prefabs that were serialized using old field names (that should be handled by FormerlySerializedAs) are not being loaded correctly, and the Inspector will show the default data. The data is still present in the scene file (the serialized YAML text shows the data with the old property name, but the value of that property does not show in the Inspector. For more recently placed objects of the same type, the data was read using the new field name and appears correctly in the Inspector. Is FormerlySerializedAs broken on 2018.3.0f2? Is there a way to proactively reserialize all project assets (under an older Unity version) so the YAML serialization shows only the new property names (not the legacy property names that would be handled by FormerlySerializedAs)? I have a script that will mark and asset as dirty and resave it, which tends to reserialize the asset, but this doesn't seem to work with Unity scene assets. It seems like I'd need to mark ever scene object and possibly every component on every scene object as dirty so get it to reserialize with the new property name. Does this make sense? Does anyone have any experience with this?