Description

After reparenting a blueprint and inherited components from the previous parent are removed, trying to give a new component the same name as a previous component causes a crash inside UObject::Rename() with an assertion message like:

Fatal error: [File:ENGINEDIR\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp] [Line: 265] Renaming an object (StaticMeshComponent /Game/BP_Parent_Child.BP_Child_C:Cube_GEN_VARIABLE) on top of an existing object (StaticMeshComponent /Game/BP_Parent_Child.BP_Child_C:MyParentNode_GEN_VARIABLE) is not allowed

The orphaned inherited components still exist and should probably be renamed out of the way after reparenting.

 

Steps to Reproduce
  • Create a BP actor class BP_OriginalParent
  • Give it a SceneComponent and name it 'OriginalComponent'. Set it as root component.
  • Create a BP actor class BP_OtherParent
  • Give it a SceneComponent and name it 'OtherComponent'. Set it as root component.
  • Create a subclass of BP_OriginalParent named BP_Child. It will have inherited 'OriginalComponent'.
  • In the blueprint editor for BP_Child, go to File > Reparent Blueprint and choose BP_OtherParent. It should now only have 'OtherComponent'.
  • Add a new SceneComponent and name it 'OriginalComponent'
  • Observe: Editor crashes with attached callstack
  • Expected: Should be able to successfully assign that name to the component
Callstack

Fatal error: [Link Removed] [Line: 265] Renaming an object (StaticMeshComponent /Game/BP_Parent_Child.BP_Parent_Child_C:Cube_GEN_VARIABLE) on top of an existing object (StaticMeshComponent /Game/BP_Parent_Child.BP_Parent_Child_C:MyParentNode_GEN_VARIABLE) is not allowed

UnrealEditor_CoreUObject!UObject::Rename() [U:\UE\5.3R\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:265]
UnrealEditor_Engine!UActorComponent::Rename() [U:\UE\5.3R\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp:458]
UnrealEditor_Engine!USCS_Node::RenameComponentTemplate() [U:\UE\5.3R\Engine\Source\Runtime\Engine\Private\SCS_Node.cpp:398]
UnrealEditor_Engine!USCS_Node::SetVariableName() [U:\UE\5.3R\Engine\Source\Runtime\Engine\Private\SCS_Node.cpp:433]
UnrealEditor_UnrealEd!FBlueprintEditorUtils::RenameComponentMemberVariable() [U:\UE\5.3R\Engine\Source\Editor\UnrealEd\Private\Kismet2\BlueprintEditorUtils.cpp:4791]
UnrealEditor_SubobjectDataInterface!USubobjectDataSubsystem::RenameSubobject() [U:\UE\5.3R\Engine\Source\Editor\SubobjectDataInterface\Private\SubobjectDataSubsystem.cpp:1364]
UnrealEditor_SubobjectEditor!SSubobject_RowWidget::OnNameTextCommit() [U:\UE\5.3R\Engine\Source\Editor\SubobjectEditor\Private\SSubobjectEditor.cpp:2021]
UnrealEditor_SubobjectEditor!TBaseSPMethodDelegateInstance<0,SSubobject_RowWidget,1,void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [U:\UE\5.3R\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:298]
UnrealEditor_Slate!TDelegate<void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>() [U:\UE\5.3R\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:570]
UnrealEditor_Slate!SInlineEditableTextBlock::OnTextBoxCommitted() [U:\UE\5.3R\Engine\Source\Runtime\Slate\Private\Widgets\Text\SInlineEditableTextBlock.cpp:333]
UnrealEditor_Slate!TBaseSPMethodDelegateInstance<0,SInlineEditableTextBlock,1,void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [U:\UE\5.3R\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:298]
UnrealEditor_Slate!TDelegate<void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>() [U:\UE\5.3R\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:570]
UnrealEditor_Slate!SEditableTextBox::OnEditableTextCommitted() [U:\UE\5.3R\Engine\Source\Runtime\Slate\Private\Widgets\Input\SEditableTextBox.cpp:533]
UnrealEditor_Slate!TBaseSPMethodDelegateInstance<0,SEditableTextBox,1,void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [U:\UE\5.3R\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:298]
UnrealEditor_Slate!TDelegate<void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>() [U:\UE\5.3R\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:570]
UnrealEditor_Slate!FSlateEditableTextLayout::HandleCarriageReturn() [U:\UE\5.3R\Engine\Source\Runtime\Slate\Private\Widgets\Text\SlateEditableTextLayout.cpp:1648]
UnrealEditor_Slate!FSlateEditableTextLayout::HandleKeyDown() [U:\UE\5.3R\Engine\Source\Runtime\Slate\Private\Widgets\Text\SlateEditableTextLayout.cpp:1095]
UnrealEditor_Slate!SEditableText::OnKeyDown() [U:\UE\5.3R\Engine\Source\Runtime\Slate\Private\Widgets\Input\SEditableText.cpp:242]
UnrealEditor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,`FSlateApplication::ProcessKeyDownEvent'::`22'::<lambda_2> >() [U:\UE\5.3R\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:447]
UnrealEditor_Slate!FSlateApplication::ProcessKeyDownEvent() [U:\UE\5.3R\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4710]
UnrealEditor_Slate!FSlateApplication::OnKeyDown() [U:\UE\5.3R\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4621]
UnrealEditor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [U:\UE\5.3R\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2066]
UnrealEditor_ApplicationCore!FWindowsApplication::DeferMessage() [U:\UE\5.3R\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2738]
UnrealEditor_ApplicationCore!FWindowsApplication::ProcessMessage() [U:\UE\5.3R\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1099]
UnrealEditor_ApplicationCore!FWindowsApplication::AppWndProc() [U:\UE\5.3R\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:937]
user32
user32
UnrealEditor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [U:\UE\5.3R\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:148]
UnrealEditor!FEngineLoop::Tick() [U:\UE\5.3R\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5749]
UnrealEditor!GuardedMain() [U:\UE\5.3R\Engine\Source\Runtime\Launch\Private\Launch.cpp:188]
UnrealEditor!GuardedMainWrapper() [U:\UE\5.3R\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:118]
UnrealEditor!LaunchWindowsStartup() [U:\UE\5.3R\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:258]
UnrealEditor!WinMain() [U:\UE\5.3R\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:298]
UnrealEditor!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-214163 in the post.

1
Login to Vote

Unresolved
ComponentUE - Gameplay - Blueprint Editor
Affects Versions5.45.3
Target Fix5.5
CreatedMay 7, 2024
UpdatedMay 20, 2024
View Jira Issue