UAbilitySystemComponent

The core ActorComponent for interfacing with the GameplayAbilities System

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

GameplayAbilities

Header

/Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/AbilitySystemComponent.h

Include

#include "AbilitySystemComponent.h"

Syntax

[UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(ClassGroup=AbilitySystem,
       HideCategories=(Object, LOD, Lighting, Transform, Sockets, TextureStreaming),
       EditInlineNew, Meta=(BlueprintSpawnableComponent))
class UAbilitySystemComponent :
    public UGameplayTasksComponent,
    public IGameplayTagAssetInterface,
    public IAbilitySystemReplicationProxyInterface

Remarks

The core ActorComponent for interfacing with the GameplayAbilities System

Variables

Name Description

Public variable

FGenericAbility...

 

AbilityActivatedCallbacks

A generic callback anytime an ability is activated (started)

Public variable

TSharedPtr< FGa...

 

AbilityActorInfo

Cached off data about the owning actor that abilities will need to frequently access (movement component, mesh component, anim instance, etc)

Public variable

FGenericAbility...

 

AbilityCommittedCallbacks

A generic callback anytime an ability is committed (cost/cooldown applied)

Public variable

FAbilityEnded

 

AbilityEndedCallbacks

Callback anytime an ability is ended

Public variable

FAbilityFailedD...

 

AbilityFailedCallbacks

Called with a failure reason when an ability fails to execute

Protected variable

float

 

AbilityLastActivatedTime

Local World time of the last ability activation. This is used for AFK/idle detection

Protected variable

TArray< FGamepl...

 

AbilityPendingAdds

Protected variable

TArray< FGamepl...

 

AbilityPendingRemoves

Protected variable

int32

 

AbilityScopeLockCount

Public variable

FAbilitySpecDir...

 

AbilitySpecDirtiedCallbacks

Called when an ability spec's internals have changed

Protected variable

FGameplayAbilit...

 

AbilityTargetDataMap

Maps from an ability spec to the target data. Used to track replicated data and callbacks

Protected variable UProperty Category BlueprintReadOnly replicatedusing

FGameplayAbilit...

 

ActivatableAbilities

The abilities we can activate.

Protected variable UProperty Replicated

FActiveGameplay...

 

ActiveGameplayCues

List of all active gameplay cues, including ones applied manually

Protected variable UProperty Replicated

FActiveGameplay...

 

ActiveGameplayEffects

Contains all of the gameplay effects that are currently active on this component

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

FName

 

AffectedAnimInstanceTag

The linked Anim Instance that this component will play montages in.

Protected variable UProperty

TArray< UGamepl...

 

AllReplicatedInstancedAbilities

Full list of all instance-per-execution gameplay abilities associated with this component

Protected variable UProperty

bool

 

bCachedIsNetSimulated

Cached value of rather this is a simulated actor

Protected variable

FGameplayTagCou...

 

BlockedAbilityTags

Abilities with these tags are not able to be activated

Protected variable UProperty

bool

 

bPendingMontageRep

Set if montage rep happens while we don't have the animinstance associated with us yet

Public variable UProperty

bool

 

bSuppressGameplayCues

Suppress all GameplayCues on this component

Public variable UProperty

bool

 

bSuppressGrantAbility

Suppress all ability granting through GEs on this component

Protected variable

int32

 

ClientActivateAbilityFailedCountRecent

Protected variable

float

 

ClientActivateAbilityFailedStartTime

Public variable UProperty Category, EditAnywhere

TArray< FAttrib...

 

DefaultStartingData

Protected variable

TArray< TPair< ...

 

GameplayEventTagContainerDelegates

List of gameplay tag container filters, and the delegates they call

Protected variable

TMap< FGameplay...

 

GameplayEventTriggeredAbilities

Abilities that are triggered from a gameplay event

Protected variable

FGameplayTagCou...

 

GameplayTagCountContainer

Acceleration map for all gameplay tags (OwnedGameplayTags from GEs and explicit GameplayCueTags)

Public variable

int32

 

GenericCancelInputID

Public variable

int32

 

GenericConfirmInputID

InputID for binding GenericConfirm/Cancel events

Public variable

TMap< FGameplay...

 

GenericGameplayEventCallbacks

Callbacks bound to Gameplay tags, these only activate if the exact tag is used.

Public variable

FAbilityConfirm...

 

GenericLocalCancelCallbacks

Generic local callback for generic CancelEvent that any ability can listen to

Public variable

FAbilityConfirm...

 

GenericLocalConfirmCallbacks

Generic local callback for generic ConfirmEvent that any ability can listen to

Public variable UProperty Meta

float

 

IncomingDuration

Internal Attribute that modifies the duration of gameplay effects applied to this component

Public variable

 

InputID

Public variable

*

 

int32

Public variable

FGameplayTagCon...

 

InternalTryActivateAbilityFailureTags

Failure tags used by InternalTryActivateAbility (E.g., this stores the FailureTags of the last call to InternalTryActivateAbility.

Protected variable UProperty

FGameplayAbilit...

 

LocalAnimMontageInfo

Data structure for montages that were instigated locally (everything if server, predictive if client. replicated if simulated proxy)

Public variable

TArray< FServer...

 

LocalServerAbilityRPCBatchData

Accumulated client side data that is batched out to server on EndServerAbilityRPCBatch

Protected variable UProperty Replicated

FActiveGameplay...

 

MinimalReplicationGameplayCues

Replicated gameplaycues when in minimal replication mode.

Public variable

FGameplayAbilit...

 

OnAbilityEnded

Callback anytime an ability is ended, with extra information

Public variable

FOnGameplayEffe...

 

OnActiveGameplayEffectAddedDelegateToSelf

Called on both client and server whenever a duraton based GE is added (E.g., instant GEs do not trigger this).

Public variable

FOnGameplayEffe...

 

OnGameplayEffectAppliedDelegateToSelf

Called on server whenever a GE is applied to self. This includes instant and duration based GEs.

Public variable

FOnGameplayEffe...

 

OnGameplayEffectAppliedDelegateToTarget

Called on server whenever a GE is applied to someone else.

Public variable

FImmunityBlockG...

 

OnImmunityBlockGameplayEffectDelegate

Immunity notification support

Public variable

FOnGameplayEffe...

 

OnPeriodicGameplayEffectExecuteDelegateOnSelf

Called on server whenever a periodic GE executes on self

Public variable

FOnGameplayEffe...

 

OnPeriodicGameplayEffectExecuteDelegateOnTarget

Called on server whenever a periodic GE executes on target

Public variable UProperty Meta

float

 

OutgoingDuration

System Attributes

Protected variable

TMap< FGameplay...

 

OwnedTagTriggeredAbilities

Abilities that are triggered from a tag being added to the owner

Public variable

TArray< FPendin...

 

PendingServerActivatedAbilities

This is a list of GameplayAbilities that were activated on the server and can't yet execute on the client.

Public variable UProperty Replicated

FReplicatedPred...

 

ReplicatedPredictionKeyMap

PredictionKeys, see more info in GameplayPrediction.h.

Public variable

EGameplayEffect...

 

ReplicationMode

How gameplay effects are replicated

Public variable UProperty

bool

 

ReplicationProxyEnabled

When enabled GameplayCue RPCs will be routed through the AvatarActor's IAbilitySystemReplicationProxyInterface rather than this component

Public variable

FPredictionKey

 

ScopedPredictionKey

Current prediction key, set with FScopedPredictionWindow

Public variable UProperty

TArray< AGamepl...

 

SpawnedTargetActors

List of currently active targeting actors

Public variable UProperty

bool

 

UserAbilityActivationInhibited

Rather activation is currently inhibited

Constructors

Name Description

Public function

UAbilitySystemComponent

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Virtual

void

 

AbilityLocalInputPressed

(
    int32 InputID
)

Called to handle ability bind input

Public function Virtual

void

 

AbilityLocalInputReleased

(
    int32 InputID
)

Public function

FSimpleMulti...

 

AbilityReplicatedEventDelegate

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Returns Generic Replicated Event for a given Ability/PredictionKey pair

Public function Virtual

void

 

AbilitySpecInputPressed

(
    FGameplayAbilitySpec& Spec
)

Called on local player always.

Public function Virtual

void

 

AbilitySpecInputReleased

(
    FGameplayAbilitySpec& Spec
)

Called on local player always.

Public function

FSimpleMulti...

 

AbilityTargetDataCancelledDelegate

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Returns TargetData Cancelled delegate for a given Ability/PredictionKey pair

Public function

FAbilityTarg...

 

AbilityTargetDataSetDelegate

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Returns TargetDataSet delegate for a given Ability/PredictionKey pair

Public function

void

 

AccumulateScreenPos

Public function

const T *...

 

AddAttributeSetSubobject

(
    T* Subobject
)

Manually add a new attribute set that is a subobject of this ability system component.

Public function

void

 

AddGameplayCue

(
    const FGameplayTag GameplayCueTag,
    const FGameplayCueParameters& Game...
)

Public function

void

 

AddGameplayCue

(
    const FGameplayTag GameplayCueTag,
    FGameplayEffectContextHandle Effect...
)

Add a persistent gameplay cue

Protected function Virtual

void

 

AddGameplayCue_Internal

(
    const FGameplayTag GameplayCueTag,
    const FGameplayCueParameters& Game...,
    FActiveGameplayCueContainer& Gamep...
)

Internal gameplay cue functions.

Protected function Virtual

void

 

AddGameplayCue_Internal

(
    const FGameplayTag GameplayCueTag,
    FGameplayEffectContextHandle& Effe...,
    FActiveGameplayCueContainer& Gamep...
)

Internal gameplay cue functions.

Public function

void

 

AddGameplayCue_MinimalReplication

(
    const FGameplayTag GameplayCueTag,
    FGameplayEffectContextHandle Effect...
)

Add gameplaycue for minimal replication mode.

Public function

FDelegateHan...

 

AddGameplayEventTagContainerDelegate

(
    const FGameplayTagContainer& TagFi...,
    const FGameplayEventTagMulticastDel...
)

Adds a new delegate to call when gameplay events happen.

Public function

void

 

AddLooseGameplayTag

(
    const FGameplayTag& GameplayTag,
    int32 Count
)

Allows GameCode to add loose gameplaytags which are not backed by a GameplayEffect.

Public function

void

 

AddLooseGameplayTags

(
    const FGameplayTagContainer& Gamep...,
    int32 Count
)

Public function

void

 

AddMinimalReplicationGameplayTag

(
    const FGameplayTag& GameplayTag
)

Minimally replicated tags are replicated tags that come from GEs when in bMinimalReplication mode.

Public function

void

 

AddMinimalReplicationGameplayTags

(
    const FGameplayTagContainer& Gamep...
)

Public function

const T *...

 

AddSet()

Adds a new AttributeSet (initialized to default values)

Protected function

void

 

AnimMontage_UpdateForcedPlayFlags

Copy over playing flags for duplicate animation data

Protected function

void

 

AnimMontage_UpdateReplicatedData

Copy LocalAnimMontageInfo into RepAnimMontageInfo

Protected function

void

 

AnimMontage_UpdateReplicatedData()

Copy LocalAnimMontageInfo into RepAnimMontageInfo

Public function Virtual

void

 

ApplyAbilityBlockAndCancelTags

(
    const FGameplayTagContainer& Abili...,
    UGameplayAbility* RequestingAb...,
    bool bEnableBlockTags,
    const FGameplayTagContainer& Block...,
    bool bExecuteCancelTags,
    const FGameplayTagContainer& Cance...
)

Called from ability activation or native code, will apply the correct ability blocking tags and cancel existing abilities.

Public function Virtual

FActiveGamep...

 

ApplyGameplayEffectSpecToSelf

(
    const FGameplayEffectSpec& Gamepla...,
    FPredictionKey PredictionKey
)

Public function Virtual

FActiveGamep...

 

ApplyGameplayEffectSpecToTarget

(
    const FGameplayEffectSpec& Gamepla...,
    UAbilitySystemComponent* Targe...,
    FPredictionKey PredictionKey
)

Public function

FActiveGamep...

 

ApplyGameplayEffectToSelf

(
    const UGameplayEffect* Gamepla...,
    float Level,
    const FGameplayEffectContextHandle ...,
    FPredictionKey PredictionKey
)

This is a helper function - it seems like this will be useful as a blueprint interface at the least, but Level parameter may need to be expanded

Public function

FActiveGamep...

 

ApplyGameplayEffectToTarget

(
    UGameplayEffect* GameplayEffec...,
    UAbilitySystemComponent* Targe...,
    float Level,
    FGameplayEffectContextHandle Contex...,
    FPredictionKey PredictionKey
)

This is a helper function used in automated testing, I'm not sure how useful it will be to gamecode or blueprints

Public function

void

 

ApplyModToAttribute

(
    const FGameplayAttribute& Attribut...,
    TEnumAsByte< EGameplayModOp::Type >...,
    float ModifierMagnitude
)

Applies an in-place mod to the given attribute.

Public function

void

 

ApplyModToAttributeUnsafe

(
    const FGameplayAttribute& Attribut...,
    TEnumAsByte< EGameplayModOp::Type >...,
    float ModifierMagnitude
)

Applies an inplace mod to the given attribute.

Public function Virtual Const

bool

 

AreAbilityTagsBlocked

(
    const FGameplayTagContainer& Tags
)

Returns true if any passed in tags are blocked

Public function Virtual

void

 

BeginServerAbilityRPCBatch

(
    FGameplayAbilitySpecHandle AbilityH...
)

Public function Virtual

void

 

BindAbilityActivationToInputComponent

(
    UInputComponent* InputComponen...,
    FGameplayAbilityInputBinds BindInfo
)

Bind to an input component with customized bindings

Public function Virtual

void

 

BindToInputComponent

(
    UInputComponent* InputComponen...
)

Bind to an input component with some default action names

Public function

void

 

BlockAbilitiesWithTags

(
    const FGameplayTagContainer& Tags
)

Block or cancel blocking for specific ability tags

Public function

void

 

BlockAbilityByInputID

(
    int32 InputID
)

Block or cancel blocking for specific input IDs

Public function UFunction BlueprintCallable, Category, Meta

FActiveGamep...

 

BP_ApplyGameplayEffectSpecToSelf

(
    const FGameplayEffectSpecHandle& S...
)

Applies a previously created gameplay effect spec to this component

Public function UFunction BlueprintCallable, Category, Meta

FActiveGamep...

 

BP_ApplyGameplayEffectSpecToTarget

(
    const FGameplayEffectSpecHandle& S...,
    UAbilitySystemComponent* Targe...
)

GameplayEffects: Primary outward facing API for other systems

Public function UFunction BlueprintCallable, Category, Meta

FActiveGamep...

 

BP_ApplyGameplayEffectToSelf

(
    TSubclassOf< UGameplayEffect > Game...,
    float Level,
    FGameplayEffectContextHandle Effect...
)

Apply a gameplay effect to self

Public function UFunction BlueprintCallable, Category, Meta

FActiveGamep...

 

BP_ApplyGameplayEffectToTarget

(
    TSubclassOf< UGameplayEffect > Game...,
    UAbilitySystemComponent* Targe...,
    float Level,
    FGameplayEffectContextHandle Contex...
)

Additional Helper Functions

Apply a gameplay effect to passed in target

Public function

void

 

CallAllReplicatedDelegatesIfSet

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Calls any Replicated delegates that have been sent (TargetData or Generic Replicated Events).

Public function

bool

 

CallOrAddReplicatedDelegate

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    FSimpleMulticastDelegate::FDelegate...
)

Calls passed in delegate if the Client Event has already been sent.

Public function

bool

 

CallReplicatedEventDelegateIfSet

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Calls a given Generic Replicated Event delegate if the event has already been sent

Public function

bool

 

CallReplicatedTargetDataDelegatesIfSet

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Calls the TargetData Confirm/Cancel events if they have been sent.

Public function

void

 

CallServerEndAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    FGameplayAbilityActivationInfo Acti...,
    FPredictionKey PredictionKey
)

Public function

void

 

CallServerSetReplicatedTargetData

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    const FGameplayAbilityTargetDataHan...,
    FGameplayTag ApplicationTag,
    FPredictionKey CurrentPredictionKey
)

Public function

void

 

CallServerTryActivateAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    bool InputPressed,
    FPredictionKey PredictionKey
)

Batching client->server RPCs This is a WIP feature to batch up client->server communication.

Public function

bool

 

CanApplyAttributeModifiers

(
    const UGameplayEffect* Gamepla...,
    float Level,
    const FGameplayEffectContextHandle ...
)

Tests if all modifiers in this GameplayEffect will leave the attribute > 0.f

Public function

void

 

CancelAbilities

(
    const FGameplayTagContainer* W...,
    const FGameplayTagContainer* W...,
    UGameplayAbility* Ignore
)

Cancel all abilities with the specified tags. Will not cancel the Ignore instance

Public function

void

 

CancelAbility

(
    UGameplayAbility* Ability
)

Ability Cancelling/Interrupts

Cancels the specified ability CDO.

Public function

void

 

CancelAbilityHandle

(
    const FGameplayAbilitySpecHandle& ...
)

Cancels the ability indicated by passed in spec handle.

Protected function Virtual

void

 

CancelAbilitySpec

(
    FGameplayAbilitySpec& Spec,
    UGameplayAbility* Ignore
)

Cancel a specific ability spec

Public function Virtual

void

 

CancelAbilityTargetData

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Cancels the ability target data and calls callbacks

Public function

void

 

CancelAllAbilities

(
    UGameplayAbility* Ignore
)

Cancels all abilities regardless of tags. Will not cancel the ignore instance

Public function Const

bool

 

CanPredict()

Do we have a valid prediction key to do more predictive actions with

Public function

void

 

CaptureAttributeForGameplayEffect

Populate the specified capture spec with the data necessary to capture an attribute from the component

Protected function

void

 

CheckDurationExpired

(
    FActiveGameplayEffectHandle Handle
)

Protected function

void

 

CheckForClearedAbilities()

Called from ClearAbility, ClearAllAbilities or OnRep.

Public function

FString

 

CleanupName

(
    FString Str
)

Public function

void

 

ClearAbility

(
    const FGameplayAbilitySpecHandle& ...
)

Removes the specified ability

Public function

void

 

ClearAbilityReplicatedDataCache

(
    FGameplayAbilitySpecHandle Handle,
    const FGameplayAbilityActivationInf...
)

Public function Virtual

void

 

ClearActorInfo()

This is called when the actor that is initialized to this system dies, this will clear that actor from this system and FGameplayAbilityActorInfo

Public function

void

 

ClearAllAbilities()

Wipes all 'given' abilities.

Public function Virtual

void

 

ClearAnimatingAbility

(
    UGameplayAbility* Ability
)

Clear the animating ability that is passed in, if it's still currently animating

Public function

void

 

ClearDebugInstantEffects()

Protected function UFunction Client, Reliable

void

 

ClientActivateAbilityFailed

(
    FGameplayAbilitySpecHandle AbilityT...,
    int16 PredictionKey
)

Protected function UFunction Client, Reliable

void

 

ClientActivateAbilitySucceed

(
    FGameplayAbilitySpecHandle AbilityT...,
    FPredictionKey PredictionKey
)

Protected function UFunction Client, Reliable

void

 

ClientActivateAbilitySucceedWithEventData

(
    FGameplayAbilitySpecHandle AbilityT...,
    FPredictionKey PredictionKey,
    FGameplayEventData TriggerEventData
)

Protected function UFunction Client, Reliable

void

 

ClientCancelAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    FGameplayAbilityActivationInfo Acti...
)

Protected function UFunction Client, Reliable

void

 

ClientEndAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    FGameplayAbilityActivationInfo Acti...
)

Public function UFunction Client, Reliable

void

 

ClientPrintDebug_Response

(
    const TArray< FString >& Strings,
    int32 GameFlags
)

Public function UFunction Client, Reliable

void

 

ClientSetReplicatedEvent

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Replicates the Generic Replicated Event to the client.

Protected function UFunction Client, Reliable

void

 

ClientTryActivateAbility

(
    FGameplayAbilitySpecHandle AbilityT...
)

Public function Virtual

void

 

ConfirmAbilityTargetData

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    const FGameplayAbilityTargetDataHan...,
    const FGameplayTag& ApplicationTag
)

Sets the current target data and calls applicable callbacks

Public function

void

 

ConsumeAllReplicatedData

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Deletes all cached ability client data (Was: ConsumeAbilityTargetData)

Public function

void

 

ConsumeClientReplicatedTargetData

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Consumes cached TargetData from client (only TargetData)

Public function

void

 

ConsumeGenericReplicatedEvent

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Consumes the given Generic Replicated Event (unsets it).

Protected function Virtual

UGameplayAbi...

 

CreateNewInstanceOfAbility

(
    FGameplayAbilitySpec& Spec,
    const UGameplayAbility* Abilit...
)

Creates a new instance of an ability, storing it in the spec

Public function Virtual

void

 

CurrentMontageJumpToSection

(
    FName SectionName
)

Jumps current montage to given section.

Public function Virtual

void

 

CurrentMontageSetNextSectionName

(
    FName FromSectionName,
    FName ToSectionName
)

Sets current montages next section name.

Public function Virtual

void

 

CurrentMontageSetPlayRate

(
    float InPlayRate
)

Sets current montage's play rate

Public function Virtual

void

 

CurrentMontageStop

(
    float OverrideBlendOutTime
)

Stops whatever montage is currently playing.

Public function Virtual

void

 

Debug_Internal

Protected function

void

 

DebugCyclicAggregatorBroadcasts

(
    FAggregator* Aggregator
)

Public function

void

 

DebugLine

(
    FAbilitySystemComponentDebugInfo& ...,
    FString Str,
    float XOffset,
    float YOffset,
    int32 MinTextRowsToAdvance
)

Public function

void

 

DecrementAbilityListLock()

Public function Virtual

void

 

DestroyActiveState()

Cancels all abilities and kills any remaining instanced abilities

Public function Virtual

void

 

DisplayDebug

(
    UCanvas* Canvas,
    const FDebugDisplayInfo& DebugDisp...,
    float& YL,
    float& YPos
)

Public function Virtual

void

 

EndServerAbilityRPCBatch

(
    FGameplayAbilitySpecHandle AbilityH...
)

Public function

void

 

ExecuteGameplayCue

(
    const FGameplayTag GameplayCueTag,
    FGameplayEffectContextHandle Effect...
)

GameplayCues can also come on their own.

Public function

void

 

ExecuteGameplayCue

(
    const FGameplayTag GameplayCueTag,
    const FGameplayCueParameters& Game...
)

Protected function

void

 

ExecuteGameplayEffect

(
    FGameplayEffectSpec& Spec,
    FPredictionKey PredictionKey
)

Protected function

void

 

ExecutePeriodicEffect

(
    FActiveGameplayEffectHandle Handle
)

Public function

FGameplayAbi...

 

FindAbilitySpecFromClass

(
    TSubclassOf< UGameplayAbility > InA...
)

Returns an ability spec corresponding to given ability class.

Public function

FGameplayAbi...

 

FindAbilitySpecFromGEHandle

(
    FActiveGameplayEffectHandle Handle
)

Returns an ability spec from a GE handle. If modifying call MarkAbilitySpecDirty

Public function

FGameplayAbi...

 

FindAbilitySpecFromHandle

(
    FGameplayAbilitySpecHandle Handle
)

Returns an ability spec from a handle. If modifying call MarkAbilitySpecDirty

Public function

FGameplayAbi...

 

FindAbilitySpecFromInputID

(
    int32 InputID
)

Returns an ability spec from a handle. If modifying call MarkAbilitySpecDirty

Public function Const

FActiveGamep...

 

FindActiveGameplayEffectHandle

(
    FGameplayAbilitySpecHandle Handle
)

Gets the GE Handle of the GE that granted the passed in Ability

Public function Virtual

void

 

ForceAvatarReplication()

Replication

Public function Virtual

void

 

ForceCancelAbilityDueToReplication

(
    UGameplayAbility* Instance
)

Force cancels the ability and does not replicate this to the other side.

Protected function

TArray< UGam...

 

GetAbilityActiveTasks

(
    UGameplayAbility* Ability
)

Public function Const

float

 

GetAbilityLastActivatedTime()

Returns local world time that an ability was activated.

Public function Const

const TArray...

 

GetActivatableAbilities()

Functions meant to be called from GameplayAbility and subclasses, but not meant for general use

Public function

TArray< FGam...

 

GetActivatableAbilities()

Public function Const

void

 

GetActivatableGameplayAbilitySpecsByAllMatchingTags

(
    const FGameplayTagContainer& Gamep...,
    TArray< struct FGameplayAbilitySpec...,
    bool bOnlyAbilitiesThatSatisfyTagRe...
)

Gets all Activatable Gameplay Abilities that match all tags in GameplayTagContainer AND for which DoesAbilitySatisfyTagRequirements() is true.

Public function

FActiveGamep...

 

GetActiveEffectEventSet

(
    FActiveGameplayEffectHandle Handle
)

Returns delegate structure that allows binding to several gameplay effect changes

Public function Const UFunction BlueprintCallable, BlueprintPure, Category, Meta

TArray< FAct...

 

GetActiveEffects

(
    const FGameplayEffectQuery& Query
)

Returns list of active effects, for a query

Public function Const

TArray< floa...

 

GetActiveEffectsDuration

(
    const FGameplayEffectQuery& Query
)

Gets total duration for all effects that match query

Public function Const

float

 

GetActiveEffectsEndTime

(
    const FGameplayEffectQuery& Query
)

This will give the world time that all effects matching this query will be finished.

Public function Const

bool

 

GetActiveEffectsEndTimeAndDuration

(
    const FGameplayEffectQuery& Query,
    float& EndTime,
    float& Duration
)

Returns end time and total duration

Public function Const

float

 

GetActiveEffectsEndTimeWithInstigators

(
    const FGameplayEffectQuery& Query,
    TArray< AActor* >& Instigator...
)

This will give the world time that all effects matching this query will be finished.

Public function Const

TArray< floa...

 

GetActiveEffectsTimeRemaining

(
    const FGameplayEffectQuery& Query
)

Gets time remaining for all effects that match query

Public function Const

TArray< TPai...

 

GetActiveEffectsTimeRemainingAndDuration

(
    const FGameplayEffectQuery& Query
)

Gets both time remaining and total duration for all effects that match query

Public function Const UFunction BlueprintCallable, BlueprintPure, Category

TArray< FAct...

 

GetActiveEffectsWithAllTags

(
    FGameplayTagContainer Tags
)

Returns list of active effects that have all of the passed in tags

Public function Const

const FActiv...

 

GetActiveGameplayEffect

(
    const FActiveGameplayEffectHandle H...
)

Returns const pointer to the actual active gamepay effect structure

Public function Const

FString

 

GetActiveGEDebugString

(
    FActiveGameplayEffectHandle Handle
)

Returns debug string describing active gameplay effect

Public function

int32

 

GetAggregatedStackCount

(
    const FGameplayEffectQuery& Query
)

Returns the sum of StackCount of all gameplay effects that pass query

Public function Const

void

 

GetAllActiveGameplayEffectSpecs

(
    TArray< FGameplayEffectSpec >& Out...
)

Makes a copy of all the active effects on this ability component

Public function

void

 

GetAllAttributes

(
    OUTTArray< FGameplayAttribute >& A...
)

Returns a list of all attributes for this abiltiy system component

Public function

UGameplayAbi...

 

GetAnimatingAbility()

Returns the current animating ability

Protected function Const

const UAttri...

 

GetAttributeSubobject

(
    const TSubclassOf< UAttributeSet > ...
)

Protected function Const

const UAttri...

 

GetAttributeSubobjectChecked

(
    const TSubclassOf< UAttributeSet > ...
)

Public function Const

AActor *

 

GetAvatarActor()

Returns the avatar actor for this component

Public function Const

AActor *

 

GetAvatarActor_Direct()

Protected function Const

const TArray...

 

GetBlockedAbilityBindings()

Protected function

TArray< uint...

 

GetBlockedAbilityBindings_Mutable()

Public function Const

void

 

GetBlockedAbilityTags

(
    FGameplayTagContainer& TagContaine...
)

Fills TagContainer with BlockedAbilityTags

Public function Const

const TArray...

 

GetClientDebugStrings()

Public function

TArray< FStr...

 

GetClientDebugStrings_Mutable()

Public function Const

UAnimMontage...

 

GetCurrentMontage()

Returns montage that is currently playing

Public function Const

int32

 

GetCurrentMontageSectionID()

Get SectionID of currently playing AnimMontage

Public function Const

float

 

GetCurrentMontageSectionLength()

Get length in time of current section

Public function Const

FName

 

GetCurrentMontageSectionName()

Get SectionName of currently playing AnimMontage

Public function Const

float

 

GetCurrentMontageSectionTimeLeft()

Returns amount of time left in current section

Public function Const

int32

 

GetCurrentStackCount

(
    FGameplayAbilitySpecHandle Handle
)

Returns current stack count of an already applied GE, but given the ability spec handle that was granted by the GE

Public function Const

int32

 

GetCurrentStackCount

(
    FActiveGameplayEffectHandle Handle
)

Returns current stack count of an already applied GE

Public function

FGameplayEff...

 

GetEffectContextFromActiveGEHandle

(
    FActiveGameplayEffectHandle Handle
)

Retrieves the EffectContext of the GameplayEffect of the active GameplayEffect.

Public function

float

 

GetFilteredAttributeValue

(
    const FGameplayAttribute& Attribut...,
    const FGameplayTagRequirements& So...,
    const FGameplayTagContainer& Targe...,
    const TArray< FActiveGameplayEffect...
)

Returns an attribute value, after applying tag filters

Public function

FOnGameplayA...

 

GetGameplayAttributeValueChangeDelegate

(
    FGameplayAttribute Attribute
)

Register for when an attribute value changes

Public function UFunction BlueprintCallable, BlueprintPure, Category

int32

 

GetGameplayEffectCount

(
    TSubclassOf< UGameplayEffect > Sour...,
    UAbilitySystemComponent* Optio...,
    bool bEnforceOnGoingCheck
)

Get the count of the specified source effect on the ability system component.

Public function

const UGamep...

 

GetGameplayEffectDefForHandle

(
    FActiveGameplayEffectHandle Handle
)

Gets the FActiveGameplayEffect based on the passed in Handle

Public function Const

float

 

GetGameplayEffectDuration

(
    FActiveGameplayEffectHandle Handle
)

Returns the total duration of a gameplay effect

Public function Const UFunction BlueprintCallable, Category

float

 

GetGameplayEffectMagnitude

(
    FActiveGameplayEffectHandle Handle,
    FGameplayAttribute Attribute
)

Raw accessor to ask the magnitude of a gameplay effect, not necessarily always correct.

Public function Const

const FGamep...

 

GetGameplayEffectSourceTagsFromHandle

(
    FActiveGameplayEffectHandle Handle
)

Get the source tags from the gameplay spec represented by the specified handle, if possible

Public function Const

void

 

GetGameplayEffectStartTimeAndDuration

(
    FActiveGameplayEffectHandle Handle,
    float& StartEffectTime,
    float& Duration
)

Return start time and total duration of a gameplay effect

Public function Const

const FGamep...

 

GetGameplayEffectTargetTagsFromHandle

(
    FActiveGameplayEffectHandle Handle
)

Get the target tags from the gameplay spec represented by the specified handle, if possible

Public function Static

const FGamep...

 

GetIncomingDurationCapture()

Public function Static

FProperty &#...

 

GetIncomingDurationProperty()

Protected function Const

const FMinim...

 

GetMinimalReplicationTags()

Protected function

FMinimalRepl...

 

GetMinimalReplicationTags_Mutable()

Public function Const

int32

 

GetNumActiveGameplayEffects()

Returns the number of gameplay effects that are currently active on this ability system component

Public function Const

float

 

GetNumericAttribute

(
    const FGameplayAttribute& Attribut...
)

Returns current (final) value of an attribute

Public function Const

float

 

GetNumericAttributeBase

(
    const FGameplayAttribute& Attribut...
)

Gets the base value of an attribute. That is, the value of the attribute with no stateful modifiers

Public function Const

float

 

GetNumericAttributeChecked

(
    const FGameplayAttribute& Attribut...
)

Returns current (final) value of an attribute

Protected function

const UAttri...

 

GetOrCreateAttributeSubobject

(
    TSubclassOf< UAttributeSet > Attrib...
)

Public function Static

const FGamep...

 

GetOutgoingDurationCapture()

Public function Static

FProperty &#...

 

GetOutgoingDurationProperty()

Public function Const

AActor *

 

GetOwnerActor()

Public function Const

FPredictionK...

 

GetPredictionKeyForNewAction()

Returns the prediction key that should be used for any actions

Protected function Const

const FGamep...

 

GetRepAnimMontageInfo()

Protected function

FGameplayAbi...

 

GetRepAnimMontageInfo_Mutable()

Public function

FAbilityRepl...

 

GetReplicatedDataOfGenericReplicatedEvent

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...
)

Gets replicated data of the given Generic Replicated Event.

Public function Virtual

IAbilitySyst...

 

GetReplicationInterface()

Who to route replication through if ReplicationProxyEnabled (if this returns null, when ReplicationProxyEnabled, we wont replicate)

Public function Const

const TArray...

 

GetServerDebugStrings()

Public function

TArray< FStr...

 

GetServerDebugStrings_Mutable()

Public function Const

const T *...

 

GetSet()

Attributes

Finds existing AttributeSet

Public function Const

const T *...

 

GetSetChecked()

Finds existing AttributeSet. Asserts if it isn't there.

Public function Const

const TArray...

 

GetSpawnedAttributes()

Public function

TArray< UAtt...

 

GetSpawnedAttributes_Mutable()

Public function Const

int32

 

GetTagCount

(
    FGameplayTag TagToCheck
)

Returns the number of instances of a given tag

Public function Const UFunction BlueprintCallable, Category

bool

 

GetUserAbilityActivationInhibited()

Input handling/targeting

Public function

FGameplayAbi...

 

GiveAbility

(
    const FGameplayAbilitySpec& Abilit...
)

GameplayAbilities

Public function

FGameplayAbi...

 

GiveAbilityAndActivateOnce

(
    FGameplayAbilitySpec& AbilitySpec,
    const FGameplayEventData* Game...
)

Grants an ability and attempts to activate it exactly one time, which will cause it to be removed.

Public function Virtual

void

 

HandleChangeAbilityCanBeCanceled

(
    const FGameplayTagContainer& Abili...,
    UGameplayAbility* RequestingAb...,
    bool bCanBeCanceled
)

Called when an ability is cancellable or not.

Public function Virtual

void

 

HandleDeferredGameplayCues

(
    const FActiveGameplayEffectsContain...
)

Handle GameplayCues that may have been deferred while doing the NetDeltaSerialize and waiting for the avatar actor to get loaded

Public function Virtual

int32

 

HandleGameplayEvent

(
    FGameplayTag EventTag,
    const FGameplayEventData* Payl...
)

Executes a gameplay event.

Public function Const

bool

 

HasAttributeSetForAttribute

(
    FGameplayAttribute Attribute
)

Does this ability system component have this attribute?

Public function Const

bool

 

HasAuthorityOrPredictionKey

(
    const FGameplayAbilityActivationInf...
)

Returns true if this is running on the server or has a valid prediciton key

Protected function Const

bool

 

HasNetworkAuthorityToActivateTriggeredAbility

(
    const FGameplayAbilitySpec& Spec
)

Returns true if the specified ability should be activated from an event in this network mode

Protected function Const

bool

 

HasNetworkAuthorityToApplyGameplayEffect

(
    FPredictionKey PredictionKey
)

Public function

void

 

IncrementAbilityListLock()

Called from FScopedAbilityListLock

Public function Virtual

void

 

InitAbilityActorInfo

(
    AActor* InOwnerActor,
    AActor* InAvatarActor
)

Initialized the Abilities' ActorInfo - the structure that holds information about who we are acting on and who controls us.

Public function Virtual

void

 

InitDefaultGameplayCueParameters

(
    FGameplayCueParameters& Parameters
)

Will initialize gameplay cue parameters with this ASC's Owner (Instigator) and AvatarActor (EffectCauser)

Public function

const UAttri...

 

InitStats

(
    TSubclassOf< class UAttributeSet > ...,
    const UDataTable* DataTable
)

Initializes starting attributes from a data table.

Protected function Virtual

void

 

InternalServerTryActivateAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    bool InputPressed,
    const FPredictionKey& PredictionKe...,
    const FGameplayEventData* Trig...
)

Implementation of ServerTryActivateAbility

Public function

bool

 

InternalTryActivateAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    FPredictionKey InPredictionKey,
    UGameplayAbility** OutInst...,
    FOnGameplayAbilityEnded::FDelegate ...,
    const FGameplayEventData* Trig...
)

Attempts to activate the given ability, will only work if called from the correct client/server context

Public function

void

 

InvokeGameplayCueEvent

(
    const FGameplayEffectSpecForRPC& S...,
    EGameplayCueEvent::Type EventType
)

Handles gameplay cue events from external sources

Public function

void

 

InvokeGameplayCueEvent

(
    const FGameplayTag GameplayCueTag,
    EGameplayCueEvent::Type EventType,
    FGameplayEffectContextHandle Effect...
)

Public function

void

 

InvokeGameplayCueEvent

(
    const FGameplayTag GameplayCueTag,
    EGameplayCueEvent::Type EventType,
    const FGameplayCueParameters& Game...
)

Public function

bool

 

InvokeReplicatedEvent

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    FPredictionKey CurrentPredictionKey
)

Calls local callbacks that are registered with the given Generic Replicated Event

Public function

bool

 

InvokeReplicatedEventWithPayload

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    FPredictionKey CurrentPredictionKey,
    FVector_NetQuantize100 VectorPayloa...
)

Calls local callbacks that are registered with the given Generic Replicated Event

Public function Const

bool

 

IsAbilityInputBlocked

(
    int32 InputID
)

Checks if the ability system is currently blocking InputID.

Public function Const

bool

 

IsAnimatingAbility

(
    UGameplayAbility* Ability
)

Returns true if the passed in ability is the current animating ability

Public function Const UFunction BlueprintCallable, Category, Meta

bool

 

IsGameplayCueActive

(
    const FGameplayTag GameplayCueTag
)

Allows polling to see if a GameplayCue is active.

Public function Const

bool

 

IsGenericCancelInputBound

(
    int32 InputID
)

Public function Const

bool

 

IsGenericConfirmInputBound

(
    int32 InputID
)

Public function Virtual Const

bool

 

IsOwnerActorAuthoritative()

Returns true if this component's actor has authority

Public function Virtual

bool

 

IsReadyForGameplayCues()

Are we ready to invoke gameplaycues yet?

Protected function Virtual

bool

 

IsReadyForReplicatedMontage()

Returns true if we are ready to handle replicated montage information

Public function UFunction BlueprintCallable, Category, Meta

void

 

K2_InitStats

(
    TSubclassOf< class UAttributeSet > ...,
    const UDataTable* DataTable
)

Public function Virtual

void

 

LocalInputCancel()

Public function Virtual

void

 

LocalInputConfirm()

Handle confirm/cancel for target actors

Public function Virtual Const UFunction BlueprintCallable, Category

FGameplayEff...

 

MakeEffectContext()

Create an EffectContext for the owner of this AbilitySystemComponent

Public function Virtual Const UFunction BlueprintCallable, Category

FGameplayEff...

 

MakeOutgoingSpec

(
    TSubclassOf< UGameplayEffect > Game...,
    float Level,
    FGameplayEffectContextHandle Contex...
)

Get an outgoing GameplayEffectSpec that is ready to be applied to other things.

Public function

void

 

MarkAbilitySpecDirty

(
    FGameplayAbilitySpec& Spec,
    bool WasAddOrRemove
)

Call to mark that an ability spec has been modified

Public function Virtual

void

 

ModifyActiveEffectStartTime

(
    FActiveGameplayEffectHandle Handle,
    float StartTimeDiff
)

Modify the start time of a gameplay effect, to deal with timers being out of sync originally

Protected function Virtual

void

 

MonitoredTagChanged

(
    const FGameplayTag Tag,
    int32 NewCount
)

Callback that is called when an owned tag bound to an ability changes

Public function Virtual

void

 

NotifyAbilityActivated

(
    const FGameplayAbilitySpecHandle Ha...,
    UGameplayAbility* Ability
)

Public function Virtual

void

 

NotifyAbilityCommit

(
    UGameplayAbility* Ability
)

Call notify callbacks above

Public function Virtual

void

 

NotifyAbilityEnded

(
    FGameplayAbilitySpecHandle Handle,
    UGameplayAbility* Ability,
    bool bWasCancelled
)

Called from the ability to let the component know it is ended

Public function Virtual

void

 

NotifyAbilityFailed

(
    const FGameplayAbilitySpecHandle Ha...,
    UGameplayAbility* Ability,
    const FGameplayTagContainer& Failu...
)

Protected function

void

 

NotifyTagMap_StackCountChange

(
    const FGameplayTagContainer& Conta...
)

Public function

FOnGivenActi...

 

OnAnyGameplayEffectRemovedDelegate()

Called when any gameplay effects are removed

Public function

void

 

OnAttributeAggregatorDirty

(
    FAggregator* Aggregator,
    FGameplayAttribute Attribute,
    bool FromRecursiveCall
)

Callbacks / Notifies (these need to be at the UObject level so we can safely bind, rather than binding to raw at the ActiveGameplayEffect/Container level which is unsafe if the AbilitySystemComponent were killed).

Protected function

void

 

OnClientActivateAbilityCaughtUp

(
    FGameplayAbilitySpecHandle AbilityT...,
    FPredictionKey::KeyType PredictionK...
)

Public function Virtual

void

 

OnClientPrintDebug_Response

(
    const TArray< FString >& Strings,
    int32 GameFlags
)

Public function

void

 

OnGameplayEffectAppliedToSelf

(
    UAbilitySystemComponent* Sourc...,
    const FGameplayEffectSpec& SpecApp...,
    FActiveGameplayEffectHandle ActiveH...
)

Public function

void

 

OnGameplayEffectAppliedToTarget

(
    UAbilitySystemComponent* Targe...,
    const FGameplayEffectSpec& SpecApp...,
    FActiveGameplayEffectHandle ActiveH...
)

This ASC has successfully applied a GE to something (potentially itself)

Public function Virtual

void

 

OnGameplayEffectDurationChange

(
    FActiveGameplayEffect& ActiveEffec...
)

Called when the duration of a gamepaly effect has changed

Public function

FOnActiveGam...

 

OnGameplayEffectRemoved_InfoDelegate

(
    FActiveGameplayEffectHandle Handle
)

Public function

FOnActiveGam...

 

OnGameplayEffectStackChangeDelegate

(
    FActiveGameplayEffectHandle Handle
)

Public function

FOnActiveGam...

 

OnGameplayEffectTimeChangeDelegate

(
    FActiveGameplayEffectHandle Handle
)

Protected function Virtual

void

 

OnGiveAbility

(
    FGameplayAbilitySpec& AbilitySpec
)

Will be called from GiveAbility or from OnRep.

Protected function Virtual

void

 

OnImmunityBlockGameplayEffect

(
    const FGameplayEffectSpec& Spec,
    const FActiveGameplayEffect* I...
)

Public function

void

 

OnMagnitudeDependencyChange

(
    FActiveGameplayEffectHandle Handle,
    const FAggregator* ChangedAggr...
)

Called when attribute magnitudes change, to forward information to dependent gameplay effects

Public function

void

 

OnPeriodicGameplayEffectExecuteOnSelf

(
    UAbilitySystemComponent* Sourc...,
    const FGameplayEffectSpec& SpecExe...,
    FActiveGameplayEffectHandle ActiveH...
)

Public function

void

 

OnPeriodicGameplayEffectExecuteOnTarget

(
    UAbilitySystemComponent* Targe...,
    const FGameplayEffectSpec& SpecExe...,
    FActiveGameplayEffectHandle ActiveH...
)

Public function Virtual

void

 

OnPlayerControllerSet()

Called when the ASC's AbilityActorInfo has a PlayerController set.

Public function Virtual

void

 

OnPredictiveGameplayCueCatchup

(
    FGameplayTag Tag
)

Called for predictively added gameplay cue.

Protected function

void

 

OnPredictiveMontageRejected

(
    UAnimMontage* PredictiveMontag...
)

Called when a prediction key that played a montage is rejected

Protected function Virtual

void

 

OnRemoveAbility

(
    FGameplayAbilitySpec& AbilitySpec
)

Will be called from RemoveAbility or from OnRep. Unbinds inputs with the given ability

Protected function Virtual UFunction

void

 

OnRep_ActivateAbilities()

Public function Virtual UFunction

void

 

OnRep_ClientDebugString()

Public function UFunction

void

 

OnRep_OwningActor()

Protected function Virtual UFunction

void

 

OnRep_ReplicatedAnimMontage()

Replicated Event for AnimMontages

Public function Virtual UFunction

void

 

OnRep_ServerDebugString()

Public function Virtual

void

 

OnServerPrintDebug_Request()

Virtual function games can override to do their own stuff when either ServerPrintDebug function runs on the server

Public function Static

void

 

OnShowDebugInfo

(
    AHUD* HUD,
    UCanvas* Canvas,
    const FDebugDisplayInfo& DisplayIn...,
    float& YL,
    float& YPos
)

Protected function Virtual

void

 

OnTagUpdated

(
    const FGameplayTag& Tag,
    bool TagExists
)

Public function Virtual

float

 

PlayMontage

(
    UGameplayAbility* AnimatingAbi...,
    FGameplayAbilityActivationInfo Acti...,
    UAnimMontage* Montage,
    float InPlayRate,
    FName StartSectionName,
    float StartTimeSeconds
)

AnimMontage Support

Public function Virtual

float

 

PlayMontageSimulated

(
    UAnimMontage* Montage,
    float InPlayRate,
    FName StartSectionName
)

Plays a montage without updating replication/prediction structures.

Public function Const

void

 

PrintAllGameplayEffects()

Print a debug list of all gameplay effects

Public function Virtual

void

 

PrintDebug()

Public function Virtual

void

 

RecomputeGameplayEffectStartTimes

(
    const float WorldTime,
    const float ServerWorldTime
)

Called whenever the server time replicates via the game state to keep our cooldown timers in sync with the server

Public function

void

 

RefreshAbilityActorInfo()

This will refresh the Ability's ActorInfo structure based on the current ActorInfo.

Public function

FDelegateHan...

 

RegisterAndCallGameplayTagEvent

(
    FGameplayTag Tag,
    FOnGameplayEffectTagCountChanged::F...,
    EGameplayTagEventType::Type EventTy...
)

Register a tag event and immediately call it

Public function

FOnGameplayA...

 

RegisterGameplayAttributeEvent

(
    FGameplayAttribute Attribute
)

Register for when an attribute value changes, should be replaced by GetGameplayAttributeValueChangeDelegate

Public function

FOnGameplayE...

 

RegisterGameplayTagEvent

(
    FGameplayTag Tag,
    EGameplayTagEventType::Type EventTy...
)

Allow events to be registered for specific gameplay tags being added or removed

Public function

FOnGameplayE...

 

RegisterGenericGameplayTagEvent()

Returns multicast delegate that is invoked whenever a tag is added or removed (but not if just count is increased. Only for 'new' and 'removed' events)

Public function Virtual

void

 

ReinvokeActiveGameplayCues()

Invokes the WhileActive event for all GCs on active, non inhibited, GEs.

Protected function

void

 

RemoteEndOrCancelAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    FGameplayAbilityActivationInfo Acti...,
    bool bWasCanceled
)

Called by ServerEndAbility and ClientEndAbility; avoids code duplication.

Public function Virtual

int32

 

RemoveActiveEffects

(
    const FGameplayEffectQuery& Query,
    int32 StacksToRemove
)

Removes all active effects that match given query. StacksToRemove=-1 will remove all stacks.

Public function UFunction BlueprintCallable, Category

int32

 

RemoveActiveEffectsWithAppliedTags

(
    FGameplayTagContainer Tags
)

Removes all active effects that apply any of the tags in Tags

Public function UFunction BlueprintCallable, Category

int32

 

RemoveActiveEffectsWithGrantedTags

(
    FGameplayTagContainer Tags
)

Removes all active effects that grant any of the tags in Tags

Public function UFunction BlueprintCallable, Category

int32

 

RemoveActiveEffectsWithSourceTags

(
    FGameplayTagContainer Tags
)

Removes all active effects with captured source tags that contain any of the tags in Tags

Public function UFunction BlueprintCallable, Category

int32

 

RemoveActiveEffectsWithTags

(
    FGameplayTagContainer Tags
)

Removes all active effects that contain any of the tags in Tags

Public function Virtual UFunction BlueprintCallable, BlueprintAuthorityOnly, Category

bool

 

RemoveActiveGameplayEffect

(
    FActiveGameplayEffectHandle Handle,
    int32 StacksToRemove
)

Removes GameplayEffect by Handle. StacksToRemove=-1 will remove all stacks.

Public function

void

 

RemoveActiveGameplayEffect_NoReturn

(
    FActiveGameplayEffectHandle Handle,
    int32 StacksToRemove
)

This only exists so it can be hooked up to a multicast delegate

Public function Virtual UFunction BlueprintCallable, BlueprintAuthorityOnly, Category

void

 

RemoveActiveGameplayEffectBySourceEffect

(
    TSubclassOf< UGameplayEffect > Game...,
    UAbilitySystemComponent* Insti...,
    int32 StacksToRemove
)

Remove active gameplay effects whose backing definition are the specified gameplay effect class

Public function

void

 

RemoveAllGameplayCues()

Removes any GameplayCue added on its own, i.e. not as part of a GameplayEffect.

Public function

void

 

RemoveGameplayCue

(
    const FGameplayTag GameplayCueTag
)

Remove a persistent gameplay cue

Protected function Virtual

void

 

RemoveGameplayCue_Internal

(
    const FGameplayTag GameplayCueTag,
    FActiveGameplayCueContainer& Gamep...
)

Public function

void

 

RemoveGameplayCue_MinimalReplication

(
    const FGameplayTag GameplayCueTag
)

Remove gameplaycue for minimal replication mode.

Public function

void

 

RemoveGameplayEventTagContainerDelegate

(
    const FGameplayTagContainer& TagFi...,
    FDelegateHandle DelegateHandle
)

Remotes previously registered delegate

Public function

void

 

RemoveLooseGameplayTag

(
    const FGameplayTag& GameplayTag,
    int32 Count
)

Public function

void

 

RemoveLooseGameplayTags

(
    const FGameplayTagContainer& Gamep...,
    int32 Count
)

Public function

void

 

RemoveMinimalReplicationGameplayTag

(
    const FGameplayTag& GameplayTag
)

Public function

void

 

RemoveMinimalReplicationGameplayTags

(
    const FGameplayTagContainer& Gamep...
)

Public function Virtual

void

 

ReplicateEndOrCancelAbility

(
    FGameplayAbilitySpecHandle Handle,
    FGameplayAbilityActivationInfo Acti...,
    UGameplayAbility* Ability,
    bool bWasCanceled
)

Replicate that an ability has ended/canceled, to the client or server as appropriate

Protected function

void

 

ResetTagMap()

Public function UFunction Server, Reliable withvalidation

void

 

ServerAbilityRPCBatch

(
    FServerAbilityRPCBatch BatchInfo
)

Public function Virtual

void

 

ServerAbilityRPCBatch_Internal

(
    FServerAbilityRPCBatch& BatchInfo
)

Overridable function for sub classes.

Protected function UFunction Server, Reliable withvalidation

void

 

ServerCancelAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    FGameplayAbilityActivationInfo Acti...
)

Protected function UFunction Server, Reliable withvalidation

void

 

ServerCurrentMontageJumpToSectionName

(
    UAnimMontage* ClientAnimMontag...,
    FName SectionName
)

RPC function called from CurrentMontageJumpToSection, replicates to other clients

Protected function UFunction Server, Reliable withvalidation

void

 

ServerCurrentMontageSetNextSectionName

(
    UAnimMontage* ClientAnimMontag...,
    float ClientPosition,
    FName SectionName,
    FName NextSectionName
)

RPC function called from CurrentMontageSetNextSectopnName, replicates to other clients

Protected function UFunction Server, Reliable withvalidation

void

 

ServerCurrentMontageSetPlayRate

(
    UAnimMontage* ClientAnimMontag...,
    float InPlayRate
)

RPC function called from CurrentMontageSetPlayRate, replicates to other clients

Protected function UFunction Server, Reliable withvalidation

void

 

ServerEndAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    FGameplayAbilityActivationInfo Acti...,
    FPredictionKey PredictionKey
)

Public function UFunction Server, Reliable withvalidation

void

 

ServerPrintDebug_Request()

Ask the server to send ability system debug information back to the client, via ClientPrintDebug_Response

Public function UFunction Server, Reliable withvalidation

void

 

ServerPrintDebug_RequestWithStrings

(
    const TArray< FString >& Strings
)

Same as ServerPrintDebug_Request but this includes the client debug strings so that the server can embed them in replays

Public function UFunction Server, Reliable withvalidation

void

 

ServerSetInputPressed

(
    FGameplayAbilitySpecHandle AbilityH...
)

Direct Input state replication.

Public function UFunction Server, Reliable withvalidation

void

 

ServerSetInputReleased

(
    FGameplayAbilitySpecHandle AbilityH...
)

Public function UFunction Server, Reliable withvalidation

void

 

ServerSetReplicatedEvent

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    FPredictionKey CurrentPredictionKey
)

Synchronization RPCs While these appear to be state, these are actually synchronization events w/ some payload data

Public function UFunction Server, Reliable withvalidation

void

 

ServerSetReplicatedEventWithPayload

(
    EAbilityGenericReplicatedEvent::Typ...,
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    FPredictionKey CurrentPredictionKey,
    FVector_NetQuantize100 VectorPayloa...
)

Replicates the Generic Replicated Event to the server with payload.

Public function UFunction Server, Reliable withvalidation

void

 

ServerSetReplicatedTargetData

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    const FGameplayAbilityTargetDataHan...,
    FGameplayTag ApplicationTag,
    FPredictionKey CurrentPredictionKey
)

Replicates targeting data to the server

Public function UFunction Server, Reliable withvalidation

void

 

ServerSetReplicatedTargetDataCancelled

(
    FGameplayAbilitySpecHandle AbilityH...,
    FPredictionKey AbilityOriginalPredi...,
    FPredictionKey CurrentPredictionKey
)

Replicates to the server that targeting has been cancelled

Protected function UFunction Server, Reliable withvalidation

void

 

ServerTryActivateAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    bool InputPressed,
    FPredictionKey PredictionKey
)

Protected function UFunction Server, Reliable withvalidation

void

 

ServerTryActivateAbilityWithEventData

(
    FGameplayAbilitySpecHandle AbilityT...,
    bool InputPressed,
    FPredictionKey PredictionKey,
    FGameplayEventData TriggerEventData
)

Public function Virtual UFunction BlueprintCallable, BlueprintAuthorityOnly, Category

void

 

SetActiveGameplayEffectLevel

(
    FActiveGameplayEffectHandle ActiveH...,
    int32 NewLevel
)

Updates the level of an already applied gameplay effect.

Public function Virtual UFunction BlueprintCallable, BlueprintAuthorityOnly, Category

void

 

SetActiveGameplayEffectLevelUsingQuery

(
    FGameplayEffectQuery Query,
    int32 NewLevel
)

Updates the level of an already applied gameplay effect.

Public function

void

 

SetAvatarActor

(
    AActor* InAvatarActor
)

Changes the avatar actor, leaves the owner actor the same

Public function

void

 

SetAvatarActor_Direct

(
    AActor* NewAvatarActor
)

Public function

void

 

SetBaseAttributeValueFromReplication

(
    const FGameplayAttribute& Attribut...,
    const FGameplayAttributeData& NewV...,
    const FGameplayAttributeData& OldV...
)

Call from OnRep functions to set the attribute base value on the client

Public function

void

 

SetBaseAttributeValueFromReplication

(
    const FGameplayAttribute& Attribut...,
    float NewValue,
    float OldValue
)

Call from OnRep functions to set the attribute base value on the client

Public function Virtual

void

 

SetBlockAbilityBindingsArray

(
    FGameplayAbilityInputBinds BindInfo
)

Initializes BlockedAbilityBindings variable

Protected function

void

 

SetBlockedAbilityBindings

(
    const TArray< uint8 >& NewBlockedA...
)

Public function

void

 

SetClientDebugStrings

(
    TArray< FString >&& NewClientDebug...
)

Public function

void

 

SetLooseGameplayTagCount

(
    const FGameplayTag& GameplayTag,
    int32 NewCount
)

Protected function

void

 

SetMinimalReplicationTags

(
    const FMinimalReplicationTagCountMa...
)

Public function

void

 

SetMontageRepAnimPositionMethod

(
    ERepAnimPositionMethod InMethod
)

Method to set the replication method for the position in the montage

Protected function

void

 

SetNumericAttribute_Internal

(
    const FGameplayAttribute& Attribut...,
    float& NewFloatValue
)

Actually pushes the final attribute value to the attribute set's property.

Public function

void

 

SetNumericAttributeBase

(
    const FGameplayAttribute& Attribut...,
    float NewBaseValue
)

Sets the base value of an attribute.

Public function

void

 

SetOwnerActor

(
    AActor* NewOwnerActor
)

Public function

void

 

SetRemoveAbilityOnEnd

(
    FGameplayAbilitySpecHandle AbilityS...
)

Sets an ability spec to remove when its finished.

Protected function

void

 

SetRepAnimMontageInfo

(
    const FGameplayAbilityRepAnimMontag...
)

Public function Virtual

void

 

SetReplicationMode

(
    EGameplayEffectReplicationMode NewR...
)

When true, we will not replicate active gameplay effects for this ability system component, so attributes and tags

Public function

void

 

SetServerDebugStrings

(
    TArray< FString >&& NewServerDebug...
)

Public function

void

 

SetSpawnedAttributes

(
    const TArray< UAttributeSet* >...
)

Public function

void

 

SetTagMapCount

(
    const FGameplayTag& Tag,
    int32 NewCount
)

Forcibly sets the number of instances of a given tag

Public function Virtual UFunction BlueprintCallable, Category

void

 

SetUserAbilityActivationInhibited

(
    bool NewInhibit
)

Disable or Enable a local user from being able to activate abilities.

Public function Virtual Const

bool

 

ShouldDoServerAbilityRPCBatch()

Public function Virtual Const

bool

 

ShouldSendClientDebugStringsToServer()

Determines whether to call ServerPrintDebug_Request or ServerPrintDebug_RequestWithStrings.

Public function Virtual

void

 

StopMontageIfCurrent

(
    const UAnimMontage& Montage,
    float OverrideBlendOutTime
)

Stops current montage if it's the one given as the Montage param

Public function Virtual UFunction BlueprintCallable, Category

void

 

TargetCancel()

Any active targeting actors will be stopped and canceled, not returning any targeting data

Public function Virtual UFunction BlueprintCallable, Category

void

 

TargetConfirm()

Any active targeting actors will be told to stop and return current targeting data

Public function

bool

 

TriggerAbilityFromGameplayEvent

(
    FGameplayAbilitySpecHandle AbilityT...,
    FGameplayAbilityActorInfo* Act...,
    FGameplayTag Tag,
    const FGameplayEventData* Payl...,
    UAbilitySystemComponent& Component
)

Triggers an ability from a gameplay event, will only trigger on local/server depending on execution flags

Public function UFunction BlueprintCallable, Category

bool

 

TryActivateAbilitiesByTag

(
    const FGameplayTagContainer& Gamep...,
    bool bAllowRemoteActivation
)

Attempts to activate every gameplay ability that matches the given tag and DoesAbilitySatisfyTagRequirements().

Public function

bool

 

TryActivateAbility

(
    FGameplayAbilitySpecHandle AbilityT...,
    bool bAllowRemoteActivation
)

Attempts to activate the given ability, will check costs and requirements before doing so.

Public function UFunction BlueprintCallable, Category

bool

 

TryActivateAbilityByClass

(
    TSubclassOf< UGameplayAbility > InA...,
    bool bAllowRemoteActivation
)

Attempts to activate the ability that is passed in.

Public function

void

 

UnBlockAbilitiesWithTags

(
    const FGameplayTagContainer& Tags
)

Block or cancel blocking for specific ability tags

Public function

void

 

UnBlockAbilityByInputID

(
    int32 InputID
)

Block or cancel blocking for specific input IDs

Public function

void

 

UnregisterGameplayTagEvent

(
    FDelegateHandle DelegateHandle,
    FGameplayTag Tag,
    EGameplayTagEventType::Type EventTy...
)

Unregister previously added events

Public function

void

 

UpdateTagMap

(
    const FGameplayTag& BaseTag,
    int32 CountDelta
)

Update the number of instances of a given tag and calls callback

Public function

void

 

UpdateTagMap

(
    const FGameplayTagContainer& Conta...,
    int32 CountDelta
)

Update the number of instances of a given tag and calls callback

Protected function

void

 

UpdateTagMap_Internal

(
    const FGameplayTagContainer& Conta...,
    int32 CountDelta
)

Overridden from UGameplayTasksComponent

Name Description

Public function Virtual Const

bool

 

GetShouldTick()

Retrieves information whether this component should be ticking taken current activity into consideration

Overridden from UActorComponent

Name Description

Public function Virtual

void

 

BeginPlay()

Begins Play for the component.

Public function Virtual

void

 

InitializeComponent()

Initializes the component.

Public function Virtual

void

 

OnComponentDestroyed

(
    bool bDestroyingHierarchy
)

Called when a component is destroyed

Public function Virtual

void

 

OnRegister()

Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called.

Public function Virtual

void

 

OnUnregister()

Called when a component is unregistered.

Public function Virtual

bool

 

ReplicateSubobjects

(
    UActorChannel* Channel,
    FOutBunch* Bunch,
    FReplicationFlags* RepFlags
)

Allows a component to replicate other subobject on the actor

Public function Virtual

void

 

TickComponent

(
    float DeltaTime,
    enum ELevelTick TickType,
    FActorComponentTickFunction* T...
)

Function called every frame on this ActorComponent.

Public function Virtual

void

 

UninitializeComponent()

Handle this component being Uninitialized.

Overridden from UObject

Name Description

Public function Virtual

void

 

GetSubobjectsWithStableNamesForNetworking

(
    TArray< UObject* >& ObjList
)

Returns a list of sub-objects that have stable names for networking

Public function Virtual

void

 

PostNetReceive()

Called right after receiving a bunch

Public function Virtual

void

 

PreNetReceive()

Called right before receiving a bunch

Overridden from IGameplayTaskOwnerInterface

Name Description

Public function Virtual Const

AActor *

 

GetGameplayTaskAvatar

(
    const UGameplayTask* Task
)

Returns avatar actor to be used for a specific task, normally GetAvatarActor

Overridden from IGameplayTagAssetInterface

Name Description

Public function Virtual Const

void

 

GetOwnedGameplayTags

(
    FGameplayTagContainer& TagContaine...
)

Get any owned gameplay tags on the asset

Public function Virtual Const

bool

 

HasAllMatchingGameplayTags

(
    const FGameplayTagContainer& TagCo...
)

Check if the asset has gameplay tags that matches against all of the specified tags (expands to include parents of asset tags)

Public function Virtual Const

bool

 

HasAnyMatchingGameplayTags

(
    const FGameplayTagContainer& TagCo...
)

Check if the asset has gameplay tags that matches against any of the specified tags (expands to include parents of asset tags)

Public function Virtual Const

bool

 

HasMatchingGameplayTag

(
    FGameplayTag TagToCheck
)

Gameplay tag operations Implements IGameplayTagAssetInterface using the TagCountContainer

Overridden from IAbilitySystemReplicationProxyInterface

Name Description

Public function Virtual

void

 

ForceReplication()

Force owning actor to update it's replication, to make sure that gameplay cues get sent down quickly.

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCueAdded

(
    const FGameplayTag GameplayCueTag,
    FPredictionKey PredictionKey,
    FGameplayEffectContextHandle Effect...
)

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCueAdded_WithParams

(
    const FGameplayTag GameplayCueTag,
    FPredictionKey PredictionKey,
    FGameplayCueParameters Parameters
)

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCueAddedAndWhileActive_FromSpec

(
    const FGameplayEffectSpecForRPC& S...,
    FPredictionKey PredictionKey
)

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCueAddedAndWhileActive_WithParams

(
    const FGameplayTag GameplayCueTag,
    FPredictionKey PredictionKey,
    FGameplayCueParameters GameplayCueP...
)

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCueExecuted

(
    const FGameplayTag GameplayCueTag,
    FPredictionKey PredictionKey,
    FGameplayEffectContextHandle Effect...
)

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCueExecuted_FromSpec

(
    const FGameplayEffectSpecForRPC Spe...,
    FPredictionKey PredictionKey
)

Do not call these functions directly, call the wrappers on GameplayCueManager instead.

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCueExecuted_WithParams

(
    const FGameplayTag GameplayCueTag,
    FPredictionKey PredictionKey,
    FGameplayCueParameters GameplayCueP...
)

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCuesAddedAndWhileActive_WithParams

(
    const FGameplayTagContainer Gamepla...,
    FPredictionKey PredictionKey,
    FGameplayCueParameters GameplayCueP...
)

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCuesExecuted

(
    const FGameplayTagContainer Gamepla...,
    FPredictionKey PredictionKey,
    FGameplayEffectContextHandle Effect...
)

Public function Virtual UFunction Unreliable, NetMulticast

void

 

NetMulticast_InvokeGameplayCuesExecuted_WithParams

(
    const FGameplayTagContainer Gamepla...,
    FPredictionKey PredictionKey,
    FGameplayCueParameters GameplayCueP...
)

Classes

Name

Description

Public class

FAbilityAbilityKey

Used to register callbacks to ability-key input

Public class

FAbilityConfirmOrCancel

Used to register callbacks to confirm/cancel input

Public struct

FAbilitySystemComponentDebugInfo

Debugging

Public struct

FPendingAbilityInfo

A pending activation that cannot be activated yet, will be rechecked at a later point

Typedefs

Name

Description

FOnGameplayEffectAppliedDelegate

Delegate for when an effect is applied

Deprecated Variables

Name Description

Public variable UProperty replicatedusing

AActor *

 

AvatarActor

This will be made private in future engine versions. Use SetAvatarActor or GetAvatarActor instead.

Protected variable UProperty Transient, Replicated

TArray< uint8 >

 

BlockedAbilityBindings

This will be made private in future engine versions. Use SetBlockedAbilityBindings, GetBlockedAbilityBindings, or GetBlockedAbilityBindings_Mutable instead.

Public variable UProperty replicatedusing

TArray< FString...

 

ClientDebugStrings

This will be made private in future engine versions. Use SetClientDebugStrings, GetClientDebugStrings, or GetClientDebugStrings_Mutable instead.

Protected variable UProperty Replicated

FMinimalReplica...

 

MinimalReplicationTags

This will be made private in future engine versions. Use SetMinimalReplicationTags, GetMinimalReplicationTags, or GetMinimalReplicationTags_Mutable instead.

Public variable UProperty replicatedusing

AActor *

 

OwnerActor

This will be made private in future engine versions. Use SetOwnerActor or GetOwnerActor instead.

Protected variable UProperty replicatedusing

FGameplayAbilit...

 

RepAnimMontageInfo

This will be made private in future engine versions. Use SetRepAnimMontageInfo, GetRepAnimMontageInfo, or GetRepAnimMontageInfo_Mutable instead.

Public variable UProperty replicatedusing

TArray< FString...

 

ServerDebugStrings

This will be made private in future engine versions. Use SetServerDebugStrings, GetServerDebugStrings, or GetServerDebugStrings_Mutable instead.

Public variable UProperty Replicated

TArray< UAttrib...

 

SpawnedAttributes

This will be made private in future engine versions. Use SetSpawnedAttributes, GetSpawnedAttributes, or GetSpawnedAttributes_Mutable instead.

Deprecated Functions

Name Description

Public function

const T *...

 

AddDefaultSubobjectSet

(
    T* Subobject
)

AddDefaultSubobjectSet is deprecated. Use AddAttributeSetSubobject instead.

Public function

FOnActiveGam...

 

OnGameplayEffectRemovedDelegate

(
    FActiveGameplayEffectHandle Handle
)

Use OnGameplayEffectRemoved_InfoDelegate (the delegate signature has changed)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss