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
- Uninitialized variable warning appears in the Inspector of a custom shader when the variable is initialized
- "Failed creating toolbar element from ID..." error is thrown when resetting the Scene view Overlay layout while an Asset Transformer Toolbox overlay is active
- Entity ID for Font Assets is serialized twice which throws an error when using Debug Inspector
- Play Mode can be entered when disabling Adaptive Performance and pressing either the Play Mode button or the keyboard shortcut to enter Play Mode before recompilation leading to errors and warnings thrown
- Parent ListView element also becomes selected when inner ListView element is selected
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.