Search Issue Tracker

Fixed in 2021.2.X

Fixed in 2019.4.X, 2020.3.X, 2021.1.X

Votes

8

Found in

2019.4

2019.4.4f1

2020.2

Issue ID

1266303

Regression

No

SerializeReference field from ScriptableObject loses value when deleting last array item and then pressing undo

Serialization

-

Reproduction steps:
1. Open the attached project "case1266303.zip"
2. In the Project window click on element named "Test asset"
3. In the Inspector window right-click on "Element 0" and select "Delete Array Element"
4. Undo the action
5. Observe the "Element 0" Integer field in the Inspector window

Expected result: The Integer field value is the same as before deleting
Actual result: The Integer field value is 0

Reproducible with: 2019.4.6f1, 2020.1.0f1, 2020.2.0a19
Could not test with: 2018.4.25f1 (namespace name 'SerializeReferenceAttribute' could not be found)

Note: When deleting array element Editor throws this error: Could not reach source property name 'entries.Array.data[0]' while extracting diffs, the reference does not exist in the source serialized data

  1. Resolution Note (fix version 2021.2):

    Fixed in: 2021.2.0a5

  2. Resolution Note (fix version 2021.1):

    Fixed in 2021.1.7f1

  3. Resolution Note (fix version 2020.3):

    Fixed in: 2020.3.9f1

  4. Resolution Note (fix version 2019.4):

    Fixed in: 2019.4.28f1

Comments (3)

  1. Yany

    Feb 15, 2021 11:38

    Will this bug be fixed in LTS and 2020 versions any time soon please?

  2. uchimatausa

    Feb 02, 2021 23:19

    Finally found this report. Please guys, make this fix happen.

  3. Yany

    Feb 02, 2021 23:14

    Unfortunately this breaks my project. How can I avoid using SerializeReference?
    Moreover if I put a custom property drawer on the object I made the array of, it just makes Unity 2020.2.2 quit without any usable information.

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.