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
- "Upload Symbols Failed" is thrown when Archive validation is being done in Xcode
- Active quality level set on a new Universal 2D project is not the default quality level when creating a new project
- Inspector Open button does nothing when navigating to a different folder with a locked asset
- Pre-generated XML serializers fail to deserialize types that use polymorphism when the Player is built with the IL2CPP scripting backend
- Editor crashes with error "Failed to present D3D11 swapchain due to device reset/removed" and Player freezes when rendering a particle system while using modified URP package on DX11
Resolution Note (2020.1.X):
ISerializationCallbackReceiver are called for any serializable object, regardless of whether it has private fields that are not serializable.