Search Issue Tracker
[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
May 06, 2020 12:33
You have done a great job on this article. It’s very readable and highly intelligent. You have even managed to make it understandable and easy to read. You have some real writing talent. Thank you.
the travelers within http://thetravelerswithin.com/
Aug 15, 2019 11:19
Issues resolved. great http://milportal.ncor.buffalo.edu/projects/Grow
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Depth is not rendered in a depth-only camera which is set up by a custom script
- The Scene\Game view is grey when two "Universal Additional Camera Data" scripts are attached to the camera
- NullReferenceException error thrown when changing Scenes in Play Mode
- Crash on "'anonymous namespace'::ConvertFBXShapes" when importing an FBX file
- Crash on Transform::RemoveFromParent when Object.DestroyImmediate() is called on Transform
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.