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)
I am not able to find world outliner how to enable it?
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
How can i modify the param name in EQS node
Delay nodes occasionally don't fire the "Completed" output in a nativized build
When I open UE4 4.24.3 it appears that. Does anyone know how to solve?
How does UMG set overlapping layouts?
How to achieve HLSL Multiple Render Target in Material blueprints?
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 |