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