Search Issue Tracker

Duplicate

Votes

0

Found in

2019.4

2020.2

2020.2.0b4

Issue ID

1281927

Regression

No

Changing an instance of a Prefab with a List/Array resets it when the List/Array is longer than the base Prefab's List/Array

Scene Management

-

How to reproduce:
1. Open the user's attached project("Bugs.zip")
2. Select "Prefab instance" in the Hierarchy
3. In the Inspector window click on the settings of "Script" > Modified Component > Apply to Prefab 'Prefab Base'

Expected results: Values get set to the base Prefab and the Prefab instance's values stay the same
Actual results:
- Only values that have changed get set to their index in the base Prefab
- The Prefab's instance's values revert to their old value
- If the changed value was at an index that does not exist in the base Prefab List/Array of the value will be as the value of Array[size - 1]

Reproducible with: 2019.4.12f1, 2020.1.8f1, 2020.2.0b6
Could not test with: 2018.4.28f1 (UnityEngine.SerializeReference not introduced)

Notes:
1. Only reproduces when the Array/List is longer than the base Prefab's Array/List
2. Does not reproduce if applied as an override to Prefab

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.