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
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
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.