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