Search Issue Tracker

Fixed in 2020.2.X

Fixed in 2019.4.X, 2020.1.X

Votes

1

Found in

2019.3

2020.1.0b9

2020.2

Issue ID

1249099

Regression

No

Undoing does not restore array values when using SerializedProperty with managedReferenceValue set to null

Serialization

-

How to reproduce:
1. Open the attached project (SerializeReferenceUndoBug.zip)
2. In the Hierarchy window select the BugExample GameObject
3. In the Inspector window under the 'Behavior Example' Component press the button 'Null'
4. Undo the last action (CTRL + Z or Edit -> Undo Inspector)

Expected result: variables 'Value' and 'Integers' get set to their previous values ('Value' = 1, 'Integers' = {1,2,3})
Actual result: variable 'Value' gets set to its previous value while 'Integers' do not

Reproducible with: 2019.3.15f1, 2020.1.0b10, 2020.2.0a12
Could not test with: 2018.4.23f1 (SerializeReference not introduced)

Notes:
1. The 'Create' button sets the SerializedProperty managedReferenceValue to the ExampleClass (which has the 'Value' and 'Integers' variables). Undoing this works as expected - the values get properly reset
2. The 'Null' button sets the SerializedProperty managedReferenceValue to null

  1. Resolution Note (fix version 2020.2):

    Fixed in 2020.2.0a19

  2. Resolution Note (fix version 2020.1):

    Fixed in 2020.1.4f1

  3. Resolution Note (fix version 2019.4):

    Fixed in 2019.4.9f1

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.