Blueprint Reference

Return TypeNameParametersDescription
UAblAbilityGetAbilityObjectFromClass
  • (UClass) Class
Returns the CDO of the Ability if the provided class inherits from UAblAbility.
EAblAbilityStartResultActivateAbility
  • (UAblAbilityContext) AbilityContext
Attempts to start an Ability using the provided context, returns the result.
UAblAbilityContextCreateAbilityContext
  • (UAblAbility) Ability
  • (UAblAbilityComponent) AbilityComponent
  • (AActor) Owner
    • Optional
  • (AActor) Instigator
    • Optional
Creates an Ability Context using the provided information.
BooleanIsSuccessfulStartResult
  • (EAblAbilityStartResult) Result

Returns true or false depending on if the provided result shows the Ability was started successfully. Given that some Abilities may return codes beyond EAblAbilityStartResult::Success and are actually valid (i.e. EAblAbilityStartResult::AsyncProcessing) - this method is a safe way to check if your Ability truly did succeed.


Methods

Return TypeNameParametersDescription
AActorGetSelfActor
  • None
Returns the Actor that is executing this Ability.
UAblAbilityComponentGetSelfAbilityComponent
  • None
Returns the Ability Component of the Actor that is executing this Ability.
AActorGetOwner
  • None
Returns the Actor marked as the Owner Target Type of the Ability.
AActorGetInstigator
  • None
Returns the Actor marked as the Instigator Target Type of the Ability.
Array<AActor>GetTargetActors
  • None
Returns the Actors marked as Targets of this Ability.
IntegerGetCurrentStackCount
  • None
Returns the current stack count of this Ability.
None (Void)SetStackCount
  • (Integer) StackCount
Sets the current stack count of this Ability to the provided value.
FloatGetCurrentTime
  • None
Retrieves the current time of the Ability.
FloatGetCurrentTimeRatio
  • None
Returns the current time of the Ability as a ratio between 0 and 1.0
FloatGetLastDeltaTime
  • None
Retrieves the last delta time value used when updating the Ability.

Members

TypeMember NameDescription
UPrimitiveComponentPrimitiveComponentThe Primitive Component of the Actor hit by a collision query/sweep.
AActorActorThe Actor hit by the collision query/sweep.


Methods

Return TypeNameParametersDescription
FloatGetLength
  • None
Returns the length, in seconds, of the Ability.
FloatGetRange
  • None
Returns the range of the Ability, if it has Targeting logic.
BooleanRequiresTarget
  • None
Returns true if the Ability requires having a target to execute, false otherwise.
FloatGetBaseCooldown
  • None
Returns the time, in seconds, before this Ability is allowed to be used again by the same Actor.
IntegerGetBaseMaxStacks
  • None
Returns the Max Stacks property of the Ability.
FGameplayTagContainerGetAbilityTagContainer
  • None
Returns the Gameplay Tags for the Ability. Note: This is a copy and does not affect the Ability.
BooleanIsLooping
  • None
Returns true if the Ability is set to Loop, or false otherwise.
IntegerGetLoopMaxIterations
  • None
Returns the maximum number of iterations this Ability is allowed to execute if it's set to Looping. 0 = Infinite.
FVector2DGetLoopRange
  • None
Returns a 2D Vector containing the Start (X) and End (Y) times of the Loop, if enabled on the Ability.
BooleanIsPassive
  • None
Returns true if the Ability is marked as a Passive Ability.
BooleanRefreshDurationOnNewStack
  • None
Returns true if the Passive Ability is marked as refreshing its duration when a new stack is successfully applied.
BooleanAlwaysRefreshDuration
  • None
Returns true if the Passive Ability always refreshes its duration regardless of if a new stack was successful applied or failed.
BooleanRefreshLoopTimeOnly
  • None
Returns true if the Passive Ability refreshes its Loop time counter rather than restarting the Ability at zero when new stacks are applied.
BooleanIsChanneled
  • None
Returns true if the Ability is marked as a Channeled Ability.
BooleanMustPassAllChannelConditions
  • None
Returns true if the Ability must pass all Channel Conditions and not just one.

Events

Return TypeNameParametersDescription
BooleanCanInterruptAbility
  • (UAblAbilityContext) Context
  • (UAblAbility) CurrentAbility
Called when this Ability is attempting to interrupt CurrentAbility. If the event returns true, the interruption is allowed, otherwise it is prevented. Defaults to false.
BooleanCustomFilterCondition
  • (UAblAbilityContext) Context
  • (FName) EventName
  • (AActor) Actor

Called by the Custom Filter. If this event returns true, the Actor is accepted - otherwise it's rejected. Defaults to true.

This event can be called Asynchronously. This event should NEVER set data on any Actors. Reading data on an Actor (i.e. Stats) is fine.

FloatGetCooldown
  • (UAblAbilityContext) Context

Called by the Ability Component when determining the cooldown for an Ability. By default, this simply returns the value set on the Ability (accessible through the GetBaseCooldown method), however it can be modified at run-time if needed.

IntegerGetMaxStacks
  • (UAblAbilityContext) Context
Called by the Ability Component when determining the maximum amount of stacks allowed by this Ability. By default it returns the value set on the Ability (accessible through the GetBaseMaxStacks method), however it can be modified at run-time if needed.
BooleanCustomCanAbilityExecute
  • (UAblAbilityContext) Context
Called before an Ability is allowed to execute to allow for any further custom checks that the Ability system doesn't cover. If your game requires things like resource checks, this is where you can add execute them. Default returns true.
BooleanCustomCanLoopExecute
  • (UAblAbilityContext) Context
Called before each new loop iteration begins on a looping Ability to allow custom checks (similar to CustomCanAbilityExecute). Defaults to true.
BooleanCheckCustomChannelConditional
  • (UAblAbilityContext) Context
  • (FName) EventName
Called by the Custom Channel Condition to check if the Ability should be allowed to continue channeling. Defaults to true.
FloatCalculateDamageForActor
  • (UAblAbilityContext) Context
  • (FName) EventName
  • (Float) BaseDamage
  • (AActor) Actor

Called by the Apply Damage Task. The value returned will be the final value applied to the Actor through the Apply Damage method. Defaults to Base Damage value.

This event can be called Asynchronously. This event should NEVER set data on any Actors. Reading data on an Actor (i.e. Stats) is fine.

None (Void)FindTargets
  • (UAblAbilityContext Context
  • (Array<Actor>) FoundTargets
Called by the Custom Targeting option. Any Actors added to the FoundTargets array will be used as Targets for this Ability. This is useful if you have your own set of logic or targets you wish to use.
BooleanCustomCanBranchTo
  • (UAblAbilityContext) Context
  • (UAblAbility) BranchAbility
Called by the Custom Branch Conditional. Return true if the Ability should be allowed to branch to the Branch Ability, false if not. Defaults to true.
None (Void)OnAbilityStart
  • (UAblAbilityContext) Context
Called whenever the Ability has passed all per-requisites and is starting execution.
None (Void)OnAbilityEnd
  • (UAblAbilityContext) Context
Called whenever the Ability successfully finishes execution.
None (Void)OnAbilityInterrupt
  • (UAblAbilityContext) Context
Called whenever the Ability has been interrupted successfully and is about to stop execution.
None (Void)OnAbilityBranch
  • (UAblAbilityContext) Context
Called whenever the Ability has successful branched into another Ability and is about to stop execution.
None (Void)OnCollisionEvent
  • (UAblAbilityContext) Context
  • (FName) EventName
  • (Array<FAblQueryResult>) HitEntities
Called by Collision Query and Collision Sweep Tasks, if enabled, once the results have been collected.
None (Void)OnRaycastEvent
  • (UAblAbilityContext) Context
  • (FName) EventName
  • (Array<FHitResult>) HitResults
Called by the Raycast Query Task, if enabled, once the results have been collected.
None (Void)OnCustomEvent
  • (UAblAbilityContext) Context
  • (FName) EventName
Called by the Custom Event Task. A completely blank slate for any custom logic your game may need.
None (Void)OnSpawnedActor
  • (UAblAbilityContext) Context
  • (FName) EventName
  • (AActor) SpawnedActor
Called by the Spawn Actor Task, if enabled.

Return TypeNameParametersDescription
EAblAbilityStartResultCanActivateAbility
  • (UAblAbilityContext) Context
Returns the start result if the Ability was to be activated. Does not actually activate the Ability. This method is called during normal Ability activation, so its not necessary to call it yourself.
EAblAbilityStartResultActivateAbility
  • (UAblAbilityContext) Context
Checks all per-requisite logic and attempts to Activate the provided Ability.
BooleanIsPlayingAbility
  • None
Returns true if the component is playing an active Ability (use GetTotalNumberOfPassives or IsPassiveActive to check for Passive Abilities).
EAblAbilityStartResultBranchAbility
  • (UAblAbilityContext) Context
Returns the result of attempting to branch into a new Ability. This action will be queued automatically if the component is in the middle of an update.
BooleanHasAbilityAnimation
  • None
Returns true if an active Play Animation Task is using the Ability Animation State Node. This method is very useful for Animation Blueprints.
BooleanIsAbilityOnCooldown
  • (UAblAbility) Ability
Returns true if the Ability is currently on cooldown for this Component, or not.
BooleanIsPassiveActive
  • (UAblAbility) Ability
Returns true if the provided Ability is active as a Passive Ability on the Component.
UAblAbilityGetActiveAbility
  • None
Returns the active Ability, if one is playing. Otherwise it returns null.
None (Void)CancelAbility
  • (UAblAbility) Ability
  • (EAblAbilityTaskResult) ResultToUse
Cancels the provided Ability if it is running on the component. ResultToUse is used to determine how to treat the cancel internally, as a branch, interrupt, or success. This method accepts passive and active abilities, however passives can only successfully end and so ResultToUse is ignored in that case.
IntegerGetTotalNumberOfPassives
  • None
Returns the number of Passive Abilities currently executing on this Component.
None (Void)GetCurrentPassiveAbilities
  • (Array<UAblAbility>) OutPassives
Fills the OutPassives parameter with all current running Passive Abilities.
None (Void)AddTag
  • (FGameplayTag) Tag
Adds the provided Tag to the Component's Tag Container.
None (Void)RemoveTag
  • (FGameplayTag) Tag
Removes the provided Tag from the Component's Tag Container.
BooleanHasTag
  • (FGameplayTag) Tag
Returns true if the provided Tag is found in the Component's Tag Container.
BooleanMatchesAnyTag
  • (FGameplayTagContainer) Container
Returns true if ANY of the Tags contained within the provided container are found in the Component's Tag Container.
BooleanMatchesAllTags
  • (FGameplayTagContainer) Container
Returns true if ALL of the Tags contained within the provided container are found in the Component's Tag Container.
BooleanMatchesQuery
  • (FGameplayTagQuery) Query
Returns true if the Query successfully matches with our Component's Tag Container.
FGameplayTagContainerGetGameplayTagContainer
  • None
Returns a copy of our Component's Tag Container.