Search Issue Tracker

Duplicate

Votes

1

Found in

2019.3

2019.3.0f3

2020.1

Issue ID

1206352

Regression

No

Class constructor is not invoked when adding SerializeReference attribute

Scripting

-

How to reproduce:
1. Open the attached project "1206352.zip"
2. Open the SampleScene
3. Select the Container script (Assets -> Runtime -> Container)
4. Reimport the script (right-click -> Reimport)
5. Enter Play mode and notice Default value being logged
6. Exit Play mode and uncomment the [SerializeReference] attribute of the Container script
7. Enter Play mode

Expected result: Default value is logged
Actual result: NullReferenceException is thrown

Reproducible with: 2019.3.0f4, 2020.1.0a18

Notes:
Reimporting the script when [SerializeReference] attribute is uncommented will stop the Item class constructor from being invoked.
Creating a new ScriptableObject (right-click -> Create -> Container) will Invoke the constructor.
[SerializeReference] attribute was not available prior to Unity 2019.3, therefore the issue is not reproducible.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.