Blueprint Reference

Blueprint Reference

Return Type

Name

Parameters

Description

Return Type

Name

Parameters

Description

UAblAbility

GetAbilityObjectFromClass

  • (UClass) Class

Returns the CDO of the Ability if the provided class inherits from UAblAbility.

EAblAbilityStartResult

ActivateAbility

  • (UAblAbilityContext) AbilityContext

Attempts to start an Ability using the provided context, returns the result.

UAblAbilityContext

CreateAbilityContext

  • (UAblAbility) Ability

  • (UAblAbilityComponent) AbilityComponent

  • (AActor) Owner

    • Optional

  • (AActor) Instigator

    • Optional

Creates an Ability Context using the provided information.

Boolean

IsSuccessfulStartResult

  • (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 Type

Name

Parameters

Description

Return Type

Name

Parameters

Description

AActor

GetSelfActor

  • None

Returns the Actor that is executing this Ability.

UAblAbilityComponent

GetSelfAbilityComponent

  • None

Returns the Ability Component of the Actor that is executing this Ability.

AActor

GetOwner

  • None

Returns the Actor marked as the Owner Target Type of the Ability.

AActor

GetInstigator

  • 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.

Integer

GetCurrentStackCount

  • 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.

Float

GetCurrentTime

  • None

Retrieves the current time of the Ability.

Float

GetCurrentTimeRatio

  • None

Returns the current time of the Ability as a ratio between 0 and 1.0

Float

GetLastDeltaTime

  • None

Retrieves the last delta time value used when updating the Ability.

Members

Type

Member Name

Description

Type

Member Name

Description

UPrimitiveComponent

PrimitiveComponent

The Primitive Component of the Actor hit by a collision query/sweep.

AActor

Actor

The Actor hit by the collision query/sweep.



Methods

Return Type

Name

Parameters

Description

Return Type

Name

Parameters

Description

Float

GetLength

  • None

Returns the length, in seconds, of the Ability.

Float

GetRange

  • None

Returns the range of the Ability, if it has Targeting logic.

Boolean

RequiresTarget

  • None

Returns true if the Ability requires having a target to execute, false otherwise.

Float

GetBaseCooldown

  • None

Returns the time, in seconds, before this Ability is allowed to be used again by the same Actor.

Integer

GetBaseMaxStacks

  • None

Returns the Max Stacks property of the Ability.

FGameplayTagContainer

GetAbilityTagContainer

  • None

Returns the Gameplay Tags for the Ability. Note: This is a copy and does not affect the Ability.

Boolean

IsLooping

  • None

Returns true if the Ability is set to Loop, or false otherwise.

Integer

GetLoopMaxIterations

  • None

Returns the maximum number of iterations this Ability is allowed to execute if it's set to Looping. 0 = Infinite.

FVector2D

GetLoopRange

  • None

Returns a 2D Vector containing the Start (X) and End (Y) times of the Loop, if enabled on the Ability.

Boolean

IsPassive

  • None

Returns true if the Ability is marked as a Passive Ability.

Boolean

RefreshDurationOnNewStack

  • None

Returns true if the Passive Ability is marked as refreshing its duration when a new stack is successfully applied.

Boolean

AlwaysRefreshDuration

  • None

Returns true if the Passive Ability always refreshes its duration regardless of if a new stack was successful applied or failed.

Boolean

RefreshLoopTimeOnly

  • None

Returns true if the Passive Ability refreshes its Loop time counter rather than restarting the Ability at zero when new stacks are applied.

Boolean

IsChanneled

  • None

Returns true if the Ability is marked as a Channeled Ability.

Boolean

MustPassAllChannelConditions

  • None

Returns true if the Ability must pass all Channel Conditions and not just one.

Events

Return Type

Name

Parameters

Description

Return Type

Name

Parameters

Description

Boolean

CanInterruptAbility

  • (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.

Boolean

CustomFilterCondition

  • (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.

Float

GetCooldown

  • (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.

Integer

GetMaxStacks

  • (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.

Boolean

CustomCanAbilityExecute

  • (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.

Boolean

CustomCanLoopExecute

  • (UAblAbilityContext) Context

Called before each new loop iteration begins on a looping Ability to allow custom checks (similar to CustomCanAbilityExecute). Defaults to true.

Boolean

CheckCustomChannelConditional

  • (UAblAbilityContext) Context

  • (FName) EventName

Called by the Custom Channel Condition to check if the Ability should be allowed to continue channeling. Defaults to true.

Float

CalculateDamageForActor

  • (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.

Boolean

CustomCanBranchTo

  • (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 Type

Name

Parameters

Description

Return Type

Name

Parameters

Description

EAblAbilityStartResult

CanActivateAbility

  • (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.

EAblAbilityStartResult

ActivateAbility

  • (UAblAbilityContext) Context

Checks all per-requisite logic and attempts to Activate the provided Ability.

Boolean

IsPlayingAbility

  • None

Returns true if the component is playing an active Ability (use GetTotalNumberOfPassives or IsPassiveActive to check for Passive Abilities).

EAblAbilityStartResult

BranchAbility

  • (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.

Boolean

HasAbilityAnimation

  • None