Search Issue Tracker
By Design
Votes
0
Found in
2017.4
2018.4
2019.2.20f1
2019.3
2020.1
Issue ID
1218346
Regression
No
Scriptable Object retains private bool value when recompiling scripts
How to reproduce:
1. Open the attached 'project-1218346.zip' project
2. In the Project browser select 'CustomAsset' and clear the Console window afterward
3. Modify the 'OurScriptableObject.cs' script and save changes
4. Return to the Editor, let it recompile and observe the Console window
Expected result: an error message is not printed
Actual result: an error message is printed
Reproducible with: 2017.4.37f1, 2018.4.17f1, 2019.3.2f1, 2020.1.0a24
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
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
Resolution Note:
Certain ScriptableObjects fields are serialised in-memory to assist with hot reloading, this covers `private bool` fields. This allows for the fields to be retained through a domain reload, these fields do not persist to disk however (only the in-memory version of the ScriptableObject will contain these fields).
To avoid this behaviour, use the `[NonSerialized]` attribute to enforce that no serialisation is performed for both the in-memory and on disk representations of the object.