Able Ability System Info and Support Thread

Yes, any animation notifies will fire like normal.

I think Iā€™m missing something badly but I canā€™t get it to work when I set Targeting > Target Logic to ā€œBlackboardā€ and set Dynamic Properties > Identifier to the name of the Blackboard key where my target actor is. When I check the Blackboard, that object is set properly, itā€™s just not being forwarded to Able.
Is there any chance you could post some more demos/videos, they help a lot but most of them are from 2+ years ago. Thanks!

Happy holidays everyone! :smiley:

Edit: doing a custom targeting and fetching blackboard value manually is working perfectly.

Iā€™ll dig into that and make a local repro to see what I find. Thanks for the report and glad you found a temporary work around.

is your blackboard key public? you sure get self actor returns the character? does the character have access to blackboard or maybe you need to run it from owner (controller) ?

For some reason the engine crashes when i try to open a ability if i have this on my character

Unfortunately, I donā€™t own Smooth-Sync, so I canā€™t tell you why they arenā€™t playing nice together. Thereā€™s a couple things you can try to narrow it down.

1.) Disable Async Tasks to prevent any thread safety issues that might occur between the two.
2.) Try and narrow down which Task doesnā€™t like working with Smooth-Sync.

If you post the callstack (youā€™ll find it in your logs) of the crash, that may help as well.

this is the callstack

Unhandled exception

UE4Editor_SmoothSyncPlugin!USmoothSync::adjustOwnerTime() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\smoothsyncplugin\source\smoothsyncplugin\private\smoothsync.cpp:2352]
UE4Editor_SmoothSyncPlugin!USmoothSync::TickComponent() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\smoothsyncplugin\source\smoothsyncplugin\private\smoothsync.cpp:728]
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Core
UE4Editor_Core
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_AbleEditor!FAbilityEditorViewportClient::Tick() [d:\build++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditorviewportclient.cpp:230]
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll

i fixed it for now by changing the preview character to another one which doesnt have the smooth sync component

Yea, looks like Smooth Sync doesnā€™t like how the Editor is ticking the Viewport. Not shocked, I move the time around as you scrub the timeline which Smooth Sync probably isnā€™t happy with.

Hey there ,

I really like your work with the Plugin so far, but I ran into a ā€œbuild failedā€ problem yesterday; after uninstall and reinstall the ABLE plugin in the Epic Launcher for the 4.22.3, my project unable to build with ā€œExclusive Nativizationā€ (no ABLE assets in my ā€œList of Blueprint assets to nativizeā€ array, just a Blueprint Function Library, nothing else), because of this:

Building 13 actions with 16 processes...
UATHelper: Packaging (Windows (64-bit)):     [1/13] Default.rc2
UATHelper: Packaging (Windows (64-bit)):     [2/13] SharedPCH.Core.cpp
UATHelper: Packaging (Windows (64-bit)):     [3/13] Project_Alvus.cpp
UATHelper: Packaging (Windows (64-bit)):     [4/13] PCH.NativizedAssets.cpp
UATHelper: Packaging (Windows (64-bit)):     [5/13] Module.NativizedAssets.gen.6_of_6.cpp
UATHelper: Packaging (Windows (64-bit)):     [6/13] Module.NativizedAssets.gen.3_of_6.cpp
UATHelper: Packaging (Windows (64-bit)):     [7/13] Module.NativizedAssets.gen.1_of_6.cpp
UATHelper: Packaging (Windows (64-bit)):     [8/13] Module.NativizedAssets.gen.2_of_6.cpp
UATHelper: Packaging (Windows (64-bit)):     [9/13] Module.NativizedAssets.gen.4_of_6.cpp
UATHelper: Packaging (Windows (64-bit)):     [10/13] Module.NativizedAssets.gen.5_of_6.cpp
UATHelper: Packaging (Windows (64-bit)):     [11/13] Module.NativizedAssets.cpp
UATHelper: Packaging (Windows (64-bit)):     F:\Unreal Engine 4\Engine\UE_4.22\Engine\Source\../Plugins/Marketplace/Able/Source/AbleCore/Classes/ablSettings.h(46): error C4800: Implicit conversion from 'const float' to bool. Possible information loss
UATHelper: Packaging (Windows (64-bit)):     F:\Unreal Engine 4\Engine\UE_4.22\Engine\Source\../Plugins/Marketplace/Able/Source/AbleCore/Classes/ablSettings.h(46): note: consider using explicit cast or comparison to 0 to avoid this warning
UATHelper: Packaging (Windows (64-bit)): Took 28,5399801s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Windows (64-bit)): ERROR: UnrealBuildTool failed. See log for more details. (C:\Users\Jim\AppData\Roaming\Unreal Engine\AutomationTool\Logs\F+Unreal+Engine+4+Engine+UE_4.22\UBT-Project_Alvus-Win64-Development.txt)
UATHelper: Packaging (Windows (64-bit)):        (see C:\Users\Jim\AppData\Roaming\Unreal Engine\AutomationTool\Logs\F+Unreal+Engine+4+Engine+UE_4.22\Log.txt for full exception trace)
UATHelper: Packaging (Windows (64-bit)): AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults: Error: Unknown Error

I donā€™t understand why is this happening right after the plugin reinstall, because before that everything was just fineā€¦ : (

By the way, I reinstalled the Plugin because the ABLE crashes really often in various scenarios, sadly.

For example; I run into a crash a lot when Iā€™m working with the Plugin assets opened in a window while creating a combo system and recompile an other, completely different type of Blueprint, like an Actor Component and not even an ABLE Graph:

Unhandled exception

UE4Editor_AbleEditor!FAblAbilityEditor::Tick() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditor.cpp:374]
UE4Editor_UnrealEd!FTickableEditorObject::TickObjects() [d:\build\++ue4\sync\engine\source\editor\unrealed\public	ickableeditorobject.h:47]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:1411]
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

What do you think? Any suggestions?

Hmmm, the first one looks like a legit type conversion error. That should be a bool, no idea why itā€™s a float (probably dumb copy and paste error on my part). Iā€™ll get a fix out for that.

The 2nd one looks like itā€™s failing to create a context, which a null check would fix. Let me get in a fix for that as well.

Thanks for the report and sorry for the temporary headache.

@Kelen I think I see what happened.

The ā€œDynamic Property Identiferā€ is specifically for Able usage when you have a dynamic property bound (youā€™ll see ā€˜+ā€™ signs on certain fields in Able, where you can bind some Blueprint logic to get a value at runtime). The Dynamic Property Identifier is there in case you have multiple Tasks / Targeting / Etc all using the dynamic property values so you can determine in your blueprint function which Task is calling that function.

For BB Keys, you just want to add the key to the ā€œBlackboard Keysā€ array under the targeting properties. When I did that, it worked as expected.

@JimPhoenix Iā€™ve gone ahead and submitted a fix for those crashes (should appear hopefully sometime this week). Again, sorry for the hiccup.

Able v3.23

@ thanks a lot, I will try the fixes out and if you donā€™t mind I will report other bugs or crashes, may even be QoL suggestions in the future here to further improve and polish the Plugin.

Keep up the good work , I truly appreciate your effort with ABLE, itā€™s a really powerful and useful system.

Absolutely. I love feedback. Lots of features have come from users like yourself.

Thanks for the tips, it turns out I was looking at the wrong thing.

I appologize for the stupid question but I canā€™t find Blackboard keys array? Is it somewhere else? Itā€™s a 4.23 project by the way.ablebb.PNG

like most things with blakboard relatedā€¦ you must know the key ā€œnameā€ by checking itā€¦ there is no reference. You must also know what type it is not to crash the engine :slight_smile: so if you target something that is not an actor base class or not even an object - in example boolā€¦ it wont work.

Yea, thatā€™s not the question he has. I just noticed the category that has that property exposed is hidden. I didnā€™t notice it due to some local changes on my end. :frowning:

Iā€™ll get a fix out.

If you want to fix it locally, just change the Category to something like ā€œBlackboardā€ in ablTargetingMisc.h line 89.



    /* What Keys to use when attempting to grab an Actor from the Blackboard */
    UPROPERTY(EditInstanceOnly, Category = "**Blackboard**", meta = (DisplayName = "Blackboard Keys"))
    TArray<FName> m_BlackboardKeys;


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:

Untitled1_10.png

Untitled2_1.png

Untitled3_1.png

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! : )

@JimPhoenix Interestingā€¦ Iā€™ll poke at the crash logs. Are you attempting to modify the Inherited tasks? That would definitely cause an error, they should be treated as Read only for the most part.

Well if there is an animation task, I would like to change the task properties here and there (mainly the Animation itself) or if itā€™s a Condition Check the lenght of the task in the timeline, or if itā€™s a Collision Query the position in the timeline, maybe the details of the arc, and so on. Or you maybe referring to some other part from my post above?

My usual methode is l(ike with normal BPs) to create a Master asset, add the needed tasks, build the custom logic in the graph tab within the overwriteable functions and in the main graph as well for the Start / End / Interrupted / Branch Events, and after that I create the Childs from it for melee or range attack variations / combo elements, etc. And yeah, in the iteration phase sometimes I need to add an other task to the Master because I want to extend the features of the ability (add a Custom Event or a Condition Check), so this is where the ā€œfunā€ begins. : )