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
- Search field in UI Builder's Library has no character limit
- Changing the value in UI Builder by dragging increases it by a few thousand points when reaching the borders of the screen
- ARM64 architecture DLL incorrectly copied instead of x64 when building for Windows x64
- Crash on TypeTreeIterator::GetNode when opening a specific folder
- Crash on WriteSerializedAssetsV2 when (re)entering the Play Mode in a specific project when IEnumerator Start() is used
Resolution Note (2020.1.X):
ISerializationCallbackReceiver are called for any serializable object, regardless of whether it has private fields that are not serializable.