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
- Required SpriteMask class (ID 331) is stripped when "Strip Engine Code" is enabled
- “Maximized serialized file backup not found” error is thrown when minimizing a window in a newly opened project
- Build stack trace contains invalid lines when building with IL2CPP using scripts with delegates containing generic types in the signature
- Entities Systems window has a “Show Full Player Loop” dropdown which does nothing when clicked after enabling “Show Full Player Loop”
- Entities Hierarchy Search “Show/Hide” button’s Lens Icon is blurry when the Editor is on an external monitor
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.