Search Issue Tracker
By Design
Votes
0
Found in
5.3.5f1
Issue ID
805674
Regression
No
Prefab Replace Name Based duplicates all components which can exist in multiple copies on one GO
Reproduction steps:
1. Open the attached project
2. Open the available scene
3. Add a Box collider component to the 'TestCube_prefab' gameobject
4. In the 'TestUpdater' script component 'ReplacePrefabTester' Context Menu, click 'Do It!'
Note: Prefab in Assets has been updated from scene
Result: TestCube_prefab in the Hierarchy now has two of the components added in step 3. Repeating step 4 adds even more.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Resolution Note:
In the provided project: PrefabUtility.ReplacePrefab got the prefab instance as a GameObject to create prefab asset from.
Prefab instance has override (Added Component - Box Collider), what happens next:
1. Prefab Asset replaced by GameObject, all the overrides on it become objects in prefab asset
2. All instances of this prefab in the Scene updated
a. First - created an instance equal to prefab asset
b. Second - all the existing overrides applied back to it
That is how the instance gets additional Box Collider: One from an updated prefab asset, second from instance override.