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
- Profiling information icon does not update for Light Mode
- [Linux] Type to select functionality is missing for drop down menus
- TextMeshPro calculates Width Compression incorrectly when using certain values in the WD% field
- VFX Graph link contrasts fail WCAG guidelines
- D3D12 PSO disk cache feature crashes if paths contain non-ASCII characters
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.