Engine-reserved name not protected

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 :wink:

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:

  1. Create a project
  2. Create a new actor blueprint
  3. Add any new component and make it the new root, getting rid of DefaultSceneRoot
  4. Add any new component and give it the name “DefaultSceneroot”

Result: Engine crashes.

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.

Yeah i guess so, but sometimes it’s easier to compromise in situations like this.

Btw if you’re satisfied with my answer, go ahead and mark it as correct :wink:

Karma is a currency for some I guess :expressionless:

I used the bug submission form to report the issue anyhow, so better mark this question as answered and stop it from littering the hub.

Ahah yeah i guess it is :smiley: helps being in the top of the leaderboard!
Yeah that’s probably the best decision :wink: