I’d say that happens because Unreal assumes that there will be a SceneComponent named DefaultSceneRoot, and if you delete it and add a new one (possibly because it’s not a SceneComponent) it crashes.
I guess the solution is to not name it DefaultSceneRoot, plenty of names to pick from
With the DefaultSceneRoot component intact, names such as DefaultSceneRoot and DefaultSceneroot are already reserved by another component.
With the DefaultSceneRoot component removed by using another root component instead, the name DefaultSceneRoot will be noted as “name reserved by engine”. Using a variation of the name name such as “DefaulSceneroot” is, however, not, and using it crashes the engine.
Repro steps:
Create a project
Create a new actor blueprint
Add any new component and make it the new root, getting rid of DefaultSceneRoot
Add any new component and give it the name “DefaultSceneroot”
Even if you add another scene component, make it the new root, it won’t let you rename it as DefaultSceneRoot. And using any other variation of the name is not protected, but rather crashes the engine altogether.
Yeah the workarounds around the bug are easy - but it is still a crash which should not happen.