Search Issue Tracker
By Design
Votes
0
Found in
2019.2.0b6
2019.3.0a1
Issue ID
1158288
Regression
Yes
[Improved prefabs] Joint prefab loses all data when its prefab is deleted from the project
A joint prefab which is applied as an override to another prefab loses all data when its prefab is deleted from the project. Refer the attached video.
Steps to reproduce:
1) Create a new project
2) Create an empty gameObject > Create a prefab out of it. Call it prefab 'A'.
3) Create an empty gameObject > Add component Character Joint > Create a prefab of this gameObject. Call this prefab 'B'.
4) Add B as a child of A > Apply override.
5) Duplicate prefab B
6) Delete prefab B from the project
Actual result: Prefab B which was overridden loses all data in hierarchy and creates an empty child gameObject as well.
Expected result: Prefab loses instance in hierarchy as it's been deleted from the project.
Occurs on: 2019.3.0a4, 2019.3.0a1
Not reproducible on: 2019.2.0b4
Environment: Both Windows and Mac
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
- ”Last item reached” warning is thrown when no search results are found in UI Toolkit Layout Debugger
- UI Elements overlap in the Shortcuts window when docked and resized to a smaller window size
- UIBuilder DataSourcePath dropdown fails to show properties when binding to abstract classes
- Errors are logged when importing an asset at a path with Firebase
- Entering too big of a number in 2D Renderer Lightmode Tags freezes the Editor
Resolution Note (2019.3.X):
This behavior is by design. There is no data loss as the data for the component is stored in the Prefab Asset only, so when that asset is deleted by the user, the user has deleted the data themselves.
The reason there is left-over GameObjects and for the nested Prefab a dummy child object as well, is to retain enough information to be able to restore all data if the deleted asset is restored again, for example via version control or via dragging it out of the trash and back into the project in its original location.