A fatal error occurs if we change a Child Actor Class from one BP (ex. "BP_A") to a different BP ( ex. "BP_B") and later change it back to the first BP (ex. "BP_A") without compiling the BP between changes. This particular issue was tracked by the licensee as he was working on the Lyra project on UE5.4 and created a ChildActorComponent inside a SceneComponent inside B_ExperienceList. I could not reproduce in a clean project.
Error message (project specific info stripped)
Error: Fatal error: [...\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp] [Line: 273] Renaming an object ('ABCDEF' /Engine/Transient.ABCDEF_C_1) on top of an existing object (ABCDEF_Old_C /Game/<Map>/<MyBP>.<MyBP>_C:ChildActor_GEN_VARIABLE.ChildActor_GEN_VARIABLE_ABCDEF_C_CAT)
Steps to Reproduce
In Lyra 5.4 (could not reproduce in a clean project)
1. Opened a blueprint in editor (in this case it was B_ExperienceList3D but that shouldn't matter)
2. Added a scene component to blueprint
3. attached a child actor to that scene component
4. Set 'Child Actor Class' to a different blueprint class (will refer to as BP_A)
5. Open content browser, navigate to a different blueprint class and select it. (will refer to as BP_B)
6. In the edited blueprint, hit the 'Child Actor Class' arrow with tooltip 'Use Selected Asset from Content Browser'
7. In the content browser, navigate back to BP_A and select it.
8. In the edited blueprint, hit the 'Child Actor Class' arrow with tooltip 'Use Selected Asset from Content Browser' again to switch back to the BP_A reference.
9. Crash
> UnrealEditor-CoreUObject.dll!UObject::Rename(const wchar_t * InName, UObject * NewOuter, unsigned int Flags) Line 273 C++
UnrealEditor-Engine.dll!AActor::Rename(const wchar_t * InName, UObject * NewOuter, unsigned int Flags) Line 1413 C++
UnrealEditor-Engine.dll!UChildActorComponent::SetChildActorClass(TSubclassOf<AActor> Class, AActor * ActorTemplate) Line 569 C++
UnrealEditor-Engine.dll!UChildActorComponent::SetChildActorClass(TSubclassOf<AActor> InClass) Line 98 C++
UnrealEditor-Engine.dll!UChildActorComponent::PostEditChangeChainProperty(FPropertyChangedChainEvent & PropertyChangedEvent) Line 266 C++
[Inline Frame] UnrealEditor-PropertyEditor.dll!FPropertyNode::NotifyPostChange::__l14::<lambda_1>::operator()(UObject *) Line 3078 C++
UnrealEditor-PropertyEditor.dll!FPropertyNode::NotifyPostChange(FPropertyChangedEvent & InPropertyChangedEvent, FNotifyHook * InNotifyHook) Line 3082 C++
UnrealEditor-PropertyEditor.dll!FPropertyValueImpl::ImportText(const TArray<FObjectBaseAddress,TSizedDefaultAllocator<32>> & InObjects, const TArray<FString,TSizedDefaultAllocator<32>> & InValues, FPropertyNode * InPropertyNode, unsigned int Flags) Line 565 C++
UnrealEditor-PropertyEditor.dll!FPropertyValueImpl::ImportText(const FString & InValue, FPropertyNode * InPropertyNode, unsigned int Flags)
Line 251 C++
UnrealEditor-PropertyEditor.dll!FPropertyValueImpl::SetValueAsString(const FString & InValue, unsigned int Flags) Line 864 C++
[Inline Frame] UnrealEditor-PropertyEditor.dll!FPropertyHandleBase::SetValueFromFormattedString(const FString &) Line 2539 C++
UnrealEditor-PropertyEditor.dll!FPropertyHandleObject::SetValueFromFormattedString(const FString & InValue, unsigned int Flags, bool bSkipResolve) Line 4322 C++
UnrealEditor-PropertyEditor.dll!FPropertyHandleObject::SetObjectValueFromSelection() Line 4377 C++
[Inline Frame] UnrealEditor-PropertyEditor.dll!Invoke(void(FPropertyEditor::*)() PtrMemFun, FPropertyEditor * &) Line 66 C++
[Inline Frame] UnrealEditor-PropertyEditor.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(FPropertyEditor::*)() &) Line 309 C++
UnrealEditor-PropertyEditor.dll!V::TBaseSPMethodDelegateInstance::ExecuteIfSafe() Line 298 C++
[Inline Frame] UnrealEditor-PropertyEditor.dll!TDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfBound() Line 570 C++
UnrealEditor-PropertyEditor.dll!PropertyCustomizationHelpers::SPropertyEditorButton::OnClick()
(I've removed the rest because of character limit)
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-224026 in the post.
1 |
Component | UE - Gameplay - Components |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.6 |
Created | Sep 11, 2024 |
---|---|
Updated | Sep 26, 2024 |