Skip to content

Ability Task Catalog

Complete catalog of all built-in UAbilityTask and UAbilityAsync classes in UE 5.7. Tasks are organized by category. For concepts, see Ability Tasks and Async Ability Tasks.

All tasks live in Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/Abilities/Tasks/.


Wait Tasks

Tasks that pause ability execution until a condition is met or a timeout fires.

Class Description Key Parameters Output Delegates
AbilityTask_WaitDelay Waits for a specified duration Time (float) OnFinish
AbilityTask_WaitCancel Waits until the ability is cancelled -- OnCancel
AbilityTask_WaitConfirm Waits for the server to confirm a predicted action -- OnConfirm
AbilityTask_WaitConfirmCancel Waits for either confirm or cancel -- OnConfirm, OnCancel
AbilityTask_WaitInputPress Waits for the ability's input to be pressed bTestAlreadyPressed (bool) OnPress
AbilityTask_WaitInputRelease Waits for the ability's input to be released bTestAlreadyReleased (bool) OnRelease
AbilityTask_WaitMovementModeChange Waits for the character's movement mode to change NewMode (EMovementMode) OnChange
AbilityTask_WaitOverlap Waits for a primitive component overlap event -- OnOverlap
AbilityTask_WaitVelocityChange Waits until the character's velocity meets a threshold condition Direction (FVector), MinimumMagnitude (float) OnVelocityChg

Wait Ability Tasks

Tasks that wait for other abilities to activate or commit.

Class Description Key Parameters Output Delegates
AbilityTask_WaitAbilityActivate Waits for any ability matching a tag query to activate WithTag/WithoutTag (FGameplayTag), Query (FGameplayTagQuery), bTriggerOnce OnActivate
AbilityTask_WaitAbilityCommit Waits for any ability matching a tag query to commit WithTag/WithoutTag (FGameplayTag), Query (FGameplayTagQuery), bTriggerOnce OnCommit

Gameplay Effect Tasks

Tasks that react to Gameplay Effect application, removal, and stacking.

Class Description Key Parameters Output Delegates
AbilityTask_WaitGameplayEffectApplied_Self Waits for a GE matching criteria to be applied to the owning ASC SourceFilter (FGameplayTargetDataFilterHandle), SourceTagRequirements/TargetTagRequirements (FGameplayTagRequirements), TriggerOnce OnApplied
AbilityTask_WaitGameplayEffectApplied_Target Waits for a GE matching criteria to be applied to another ASC Same as Self variant OnApplied
AbilityTask_WaitGameplayEffectRemoved Waits for a specific active GE (by handle) to be removed Handle (FActiveGameplayEffectHandle) OnRemoved, InvalidHandle
AbilityTask_WaitGameplayEffectStackChange Waits for a specific active GE's stack count to change Handle (FActiveGameplayEffectHandle) OnChange, InvalidHandle
AbilityTask_WaitGameplayEffectBlockedImmunity Waits for a GE application to be blocked by immunity on the owning ASC SourceTagRequirements/TargetTagRequirements (FGameplayTagRequirements) Blocked

Gameplay Tag Tasks

Tasks that react to tag changes on the owning ASC.

Class Description Key Parameters Output Delegates
AbilityTask_WaitGameplayTag (Added) Waits for a specific tag to be added to the ASC Tag (FGameplayTag), TriggerOnce Added
AbilityTask_WaitGameplayTag (Removed) Waits for a specific tag to be removed from the ASC Tag (FGameplayTag), TriggerOnce Removed
AbilityTask_WaitGameplayTagCountChanged Waits for a specific tag's count on the ASC to change Tag (FGameplayTag) OnCountChanged (includes new count)
AbilityTask_WaitGameplayTagQuery Waits for a tag query to become satisfied or unsatisfied on the ASC TagQuery (FGameplayTagQuery), Condition (trigger on match, unmatch, or either) Triggered

Added vs. Removed

AbilityTask_WaitGameplayTag has two static factory functions: WaitGameplayTagAdd and WaitGameplayTagRemove. They share the same class but configure different internal behavior.


Attribute Tasks

Tasks that react to attribute value changes.

Class Description Key Parameters Output Delegates
AbilityTask_WaitAttributeChange Waits for any change to a specific attribute Attribute (FGameplayAttribute), WithTag/WithoutTag (FGameplayTag) OnChange
AbilityTask_WaitAttributeChangeThreshold Waits for an attribute to cross a threshold Attribute (FGameplayAttribute), ComparisonType (EWaitAttributeChangeComparison), ComparisonValue (float) OnChange
AbilityTask_WaitAttributeChangeRatioThreshold Waits for the ratio of two attributes to cross a threshold NumeratorAttribute, DenominatorAttribute (FGameplayAttribute), ComparisonType, ComparisonValue OnChange

Event Tasks

Tasks that wait for gameplay events.

Class Description Key Parameters Output Delegates
AbilityTask_WaitGameplayEvent Waits for a gameplay event with a specific tag to be sent to the owning ASC EventTag (FGameplayTag), bOnlyTriggerOnce, bOnlyMatchExact EventReceived (provides FGameplayEventData)
AbilityTask_WaitTargetData Spawns a AGameplayAbilityTargetActor and waits for target data TargetClass (TSubclassOf), ConfirmationType ValidData, Cancelled

Action Tasks

Tasks that perform actions and report completion.

Class Description Key Parameters Output Delegates
AbilityTask_PlayMontageAndWait Plays an animation montage and waits for it to finish MontageToPlay, Rate, StartSection, bStopWhenAbilityEnds OnCompleted, OnBlendOut, OnInterrupted, OnCancelled
AbilityTask_PlayAnimAndWait Plays a UAnimAsset (non-montage) and waits for it to finish AnimAsset, bStopWhenAbilityEnds OnCompleted, OnInterrupted, OnCancelled
AbilityTask_SpawnActor Spawns an actor (with begin-spawn/finish-spawn pattern for setting properties) SpawnClass, TargetData (FGameplayAbilityTargetDataHandle) Success (provides spawned actor), DidNotSpawn
AbilityTask_MoveToLocation Lerps the avatar to a target location over time TargetLocation (FVector), Duration, CurveFloat (optional) OnTargetLocationReached
AbilityTask_VisualizeTargeting Spawns and updates a targeting reticle actor until the task ends TargetClass, TargetData -- (controlled externally)
AbilityTask_StartAbilityState Enters a named ability state that auto-ends when the task is destroyed StateName (FName), bEndCurrentState OnStateEnded, OnStateInterrupted
AbilityTask_NetworkSyncPoint Synchronizes ability execution between client and server SyncType (EAbilityTaskNetSyncType: BothWait, OnlyServerWait, OnlyClientWait) OnSync
AbilityTask_Repeat Calls a delegate repeatedly at a fixed interval TimeBetweenActions (float), TotalActionCount (int32) OnPerformAction (provides action number), OnFinished

Root Motion Tasks

Tasks that apply root motion forces to characters. All inherit from AbilityTask_ApplyRootMotion_Base.

Class Description Key Parameters Output Delegates
AbilityTask_ApplyRootMotionConstantForce Applies a constant force in a direction WorldDirection (FVector), Strength, Duration, bIsAdditive, StrengthOverTime (UCurveFloat) OnFinish
AbilityTask_ApplyRootMotionJumpForce Applies a jump arc Rotation (FRotator), Distance, Height, Duration, MinimumLandedTriggerTime OnFinish, OnLanded
AbilityTask_ApplyRootMotionMoveToActorForce Moves toward a target actor TargetActor, TargetLocationOffset, OffsetAlignment, Duration, bSetNewMovementMode OnFinish
AbilityTask_ApplyRootMotionMoveToForce Moves toward a target location TargetLocation (FVector), Duration, bSetNewMovementMode, bRestrictSpeedToExpected OnFinish
AbilityTask_ApplyRootMotionRadialForce Applies a radial force (push/pull) from a point Location (FVector), LocationActor (AActor), Strength, Duration, Radius, bIsPush OnFinish

Async Ability Tasks (UAbilityAsync)

These tasks inherit from UAbilityAsync instead of UAbilityTask. They do not require an active ability and can be used from any Blueprint (widgets, AI controllers, etc.). They bind to an ASC via a target actor parameter.

All async tasks live in Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/Abilities/Async/.

Class Description Key Parameters Output Delegates
UAbilityAsync_WaitAttributeChanged Monitors an attribute for changes on a target ASC TargetActor, Attribute (FGameplayAttribute), bOnlyTriggerOnce Changed (provides FGameplayAttribute, NewValue, OldValue)
UAbilityAsync_WaitGameplayEffectApplied Monitors a target ASC for GE application events TargetActor, SourceTagRequirements/TargetTagRequirements (FGameplayTagRequirements), bTriggerOnce OnApplied
UAbilityAsync_WaitGameplayEvent Monitors a target ASC for gameplay events matching a tag TargetActor, EventTag (FGameplayTag), bOnlyTriggerOnce, bOnlyMatchExact EventReceived (provides FGameplayEventData)
UAbilityAsync_WaitGameplayTag Monitors a target ASC for a tag being added or removed TargetActor, Tag (FGameplayTag), TagChangeType (Added/Removed), bOnlyTriggerOnce OnTagChanged
UAbilityAsync_WaitGameplayTagCountChanged Monitors a target ASC for a tag count change TargetActor, Tag (FGameplayTag) TagCountChanged (provides new count)
UAbilityAsync_WaitGameplayTagQuery Monitors a target ASC until a tag query is satisfied/unsatisfied TargetActor, TagQuery (FGameplayTagQuery), TriggerCondition Triggered

When to use Async vs. regular tasks

Use UAbilityAsync when you need to monitor GAS state from outside an ability — for example, updating a health bar widget when an attribute changes. Use UAbilityTask when the monitoring is part of ability logic and should end when the ability ends.