Search Issue Tracker
By Design
Votes
0
Found in
2017.4.0f1
2018.3.0a1
2018.4.0f1
2019.1.0a1
2019.2.0a1
2019.3.0a1
Issue ID
1163703
Regression
No
Object with ISerializationCallbackReceiver Interface receives Serialization Callback when it has a private access level
How to reproduce:
1. Open the "Scene" Scene in the attached "CustomSerializationPrivateFieldError.zip" Project
2. Right-Click > Reimport "Test.cs" in the Project View
3. Observe the Console
Expected Behaviour: The Callbacks are not responding due to private access level of "CustomType" Variable in the "Test.cs"
Actual Behaviour: The Callbacks are called
Reproducible with: 2017.4.29f1, 2018.4.3f1, 2019.1.7f1, 2019.2.0b6, 2019.3.0a6
Note: If you specify "[NonSerialized]" before declaring the Field - no Callbacks are Invoked.
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
- UnityYamlMerge.exe doesn't correctly handle merge conflicts in modified properties on a prefab variant
- Inconsistent color scheme in "Details" section of "Select Presets" inspector window
- Crash on __pthread_kill when launching Editor via command-line with "-disableManagedDebugger" argument
- [VFX] Deleting “New Group Node” name doesn’t allow to type or add new name
- [VFX] Creating a long Group Node name breaks nodes boarders
Resolution Note (2020.1.X):
ISerializationCallbackReceiver are called for any serializable object, regardless of whether it has private fields that are not serializable.