Search Issue Tracker
Fixed in 2020.2.X
Votes
0
Found in
2018.3.5f1
Issue ID
1127313
Regression
No
PrefabUtility.SaveAsPrefabAsset() freezes the editor when called from OnValidate() method
To reproduce:
1. Open any project
2. Import the script attached "CreatePrefab.cs" (or make your own: call PrefabUtility.SaveAsPrefabAsset() from method OnValidate())
3. Assign the script to a game object and pick a game object for the script's public field (ex.: freshly created 3d object)
Result: editor freezes on trying to validate script after changes have been made
Reproduced in: 2018.3.7f1, 2019.1.0b5, 2019.2.0a6
Note1: OnValidate() can also be checked by commenting out PrefabUtility.SaveAsPrefabAsset(), adding GameObject to script's public field and decommenting. OnValidate
will once again freeze the editor.
Note2: PrefabUtility not available on LTS
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note (fix version 2020.2):
Saving a prefab during OnValidate, physics trigger/contact, animation event callbacks, rendering callbacks is not allowed and is now handled and an error message is logged in the console.