Hey there ,
I experienced some really strange behaviors with the ABLE’s parent-child relations handling (with UE 4.22.3) and collected some crashlogs, so let’s begin; if I create a “Master” aka. Parent ABLE ability, then add some tasks to it, finish it for now, then after this I create some child ABLE Abilities from that **Master **ability **(Right Click ➠ Create a Child Blueprint Class) **and later on I add an other task, like a Check Condition logic to the **Master **ability the childs don’t get this change right after that. Okey, what if I check the “Inheritable” chackbox? Well, if I do that, the Childs don’t want to save themselfs from this point and the Editor gives me these pop-up windows:
Lines from the log:
LogSlate: Window 'Message' being destroyed
LogSavePackage: Warning: Referencers of AblSpawnActorTask /Game/Gameplay/AISystem/Abilities/01_Minor/Able_AI_Minor_Melee_Attack.Default__Able_AI_Minor_Melee_Attack_C:AblSpawnActorTask_0:
LogSavePackage: Warning: Able_AI_Minor_Melee_Attack_C /Game/Gameplay/AISystem/Abilities/01_Minor/Able_AI_Minor_Melee_Attack.Default__Able_AI_Minor_Melee_Attack_C (2 refs)
LogSavePackage: Warning: 0) ObjectProperty /Script/AbleCore.AblAbility:m_Tasks.m_Tasks
LogSavePackage: Warning: 1) ObjectProperty /Script/AbleCore.AblAbility:m_CachedTasks.m_CachedTasks
LogSavePackage: Warning: Able_AI_Minor_Melee_Attack_Child_01_C /Game/Gameplay/AISystem/Abilities/01_Minor/Able_AI_Minor_Melee_Attack_Child_01.Default__Able_AI_Minor_Melee_Attack_Child_01_C (1 refs)
LogSavePackage: Warning: 0) ObjectProperty /Script/AbleCore.AblAbility:m_CachedTasks.m_CachedTasks
LogSlate: Window 'Message' being destroyed
EditorErrors: New page: Save Output
EditorErrors: Warning: Can't save /Content/Gameplay/AISystem/Abilities/01_Minor/Able_AI_Minor_Melee_Attack_Child_01.uasset: Graph is linked to external private object AblSpawnActorTask /Game/Gameplay/AISystem/Abilities/01_Minor/Able_AI_Minor_Melee_Attack.Default__Able_AI_Minor_Melee_Attack_C:AblSpawnActorTask_0 (m_Cached
Tasks)
LogSlate: FSceneViewport::OnFocusLost() reason 2
LogSlate: Window 'Packages Failed To Save' being destroyed
LogSlate: FSceneViewport::OnFocusLost() reason 0
After this event, if I just go and unfill the “Inheritable” checkbox in the **Master **ability, save the ability and then go back to one of the childs, the mentioned task leaves a blank line in the Child ability’s Timeline and the Editor just crash and it gives me this log:
Unhandled exception
UE4Editor_AbleEditor!SAblAbilityTimelineNode::DetermineDragType() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\sabilitytimelinetrack.cpp:477]
UE4Editor_AbleEditor!SAblAbilityTimelineNode::OnCursorQuery() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\sabilitytimelinetrack.cpp:229]
UE4Editor_Slate!FSlateApplication::QueryCursor() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3620]
UE4Editor_Slate!FSlateApplication::TickApplication() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1735]
UE4Editor_Slate!FSlateApplication::Tick() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1679]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:4071]
UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:168]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
Another stange thing happens when I create an other **Master **type ability then some Childs from it and later on in the **Master **ability I check one or more task(s) to be “Inheritable”. If I do that, in the Childs all of those tasks (which are have the “Inheritable” fill) are now duplicated in the Childs’ ability Timeline.
Finally, here are some other crashlogs from the last few days:
Unhandled exception
UE4Editor_AbleCore!UAblAbilityInstance::GetAbility() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\ablabilityinstance.cpp:381]
UE4Editor_AbleCore!UAblAbilityComponent::CancelActiveAbility() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\ablabilitycomponent.cpp:448]
UE4Editor_AbleCore!UAblAbilityComponent::InternalCancelAbility() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\ablabilitycomponent.cpp:976]
UE4Editor_AbleCore!UAblAbilityComponent::CancelAbility() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\ablabilitycomponent.cpp:687]
UE4Editor_AbleCore!UAblAbilityComponent::execCancelAbility() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\classes\ablabilitycomponent.h:94]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4643]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:904]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2314]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:809]
UE4Editor_CoreUObject!ProcessLocalFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1033]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:809]
UE4Editor_CoreUObject!ProcessLocalFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1033]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:809]
UE4Editor_CoreUObject!ProcessLocalFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1033]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2314]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:809]
UE4Editor_CoreUObject!ProcessLocalFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1033]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2314]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:809]
UE4Editor_CoreUObject!ProcessLocalFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1033]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1058]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4643]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1464]
UE4Editor_Engine!AActor::ProcessEvent() [d:\build\++ue4\sync\engine\source\runtime\engine\private\actor.cpp:769]
UE4Editor_Engine!TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>() [d:\build\++ue4\sync\engine\source\runtime\core\public\uobject\scriptdelegates.h:488]
UE4Editor_Engine!FComponentBeginOverlapSignature::Broadcast() [d:\build\++ue4\sync\engine\source\runtime\engine\classes\components\primitivecomponent.h:147]
UE4Editor_Engine!UPrimitiveComponent::BeginComponentOverlap() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\primitivecomponent.cpp:2489]
UE4Editor_Engine!UPrimitiveComponent::UpdateOverlapsImpl() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\primitivecomponent.cpp:3035]
UE4Editor_Engine!UPrimitiveComponent::OnComponentCollisionSettingsChanged() [d:\build\++ue4\sync\engine\source\runtime\engine\private\primitivecomponentphysics.cpp:952]
UE4Editor_Engine!UPrimitiveComponent::SetCollisionEnabled() [d:\build\++ue4\sync\engine\source\runtime\engine\private\primitivecomponentphysics.cpp:895]
UE4Editor_Engine!UPrimitiveComponent::execSetCollisionEnabled() [d:\build\++ue4\sync\engine\source\runtime\engine\classes\components\primitivecomponent.h:174]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4643]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:904]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2314]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1058]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4643]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1464]
UE4Editor_Engine!AActor::ProcessEvent() [d:\build\++ue4\sync\engine\source\runtime\engine\private\actor.cpp:769]
UE4Editor_Engine!FLatentActionManager::TickLatentActionForObject() [d:\build\++ue4\sync\engine\source\runtime\engine\private\latentactionmanager.cpp:206]
UE4Editor_Engine!FLatentActionManager::ProcessLatentActions() [d:\build\++ue4\sync\engine\source\runtime\engine\private\latentactionmanager.cpp:144]
UE4Editor_Engine!UWorld::Tick() [d:\build\++ue4\sync\engine\source\runtime\engine\private\leveltick.cpp:1621]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:1618]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:403]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3967]
UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:168]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
Unhandled exception
UE4Editor_AbleCore!UAblAbilityInstance::Initialize() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\ablabilityinstance.cpp:58]
UE4Editor_AbleCore!UAblAbilityComponent::PlayAbilityFromEditor() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\ablabilitycomponent.cpp:1443]
UE4Editor_AbleEditor!FAblAbilityEditor::PlayAbility() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditor.cpp:1359]
UE4Editor_AbleEditor!TBaseSPMethodDelegateInstance<0,FAblAbilityEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\rocketsync\4.22.0-5660361+++ue4+release-4.22\working\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:355]
UE4Editor_Slate!FUICommandList::ExecuteAction() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:99]
UE4Editor_Slate!SToolBarButtonBlock::OnClicked() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\multibox\stoolbarbuttonblock.cpp:300]
UE4Editor_Slate!SToolBarButtonBlock::OnCheckStateChanged() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\multibox\stoolbarbuttonblock.cpp:325]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,0,void __cdecl(enum ECheckBoxState)>::ExecuteIfSafe() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:355]
UE4Editor_Slate!SCheckBox::OnMouseButtonUp() [d:\build\++ue4\sync\engine\source\runtime\slate\private\widgets\input\scheckbox.cpp:191]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_6c1f6b862bcfb82ea6dcab28fbcc9463> >() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:271]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5598]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:6203]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:6176]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1842]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2292]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1522]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:772]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowsplatformapplicationmisc.cpp:130]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3882]
UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:168]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
Thank you for your attention! : )