RealDocs

UGameplayAbility

class GameplayAbilities Blueprint Since unknown
#include "Abilities/GameplayAbility.h"

Description

The base class for all GAS abilities. Subclass this (in C++ or Blueprint) to define what an ability does: override ActivateAbility to run logic and call EndAbility when done.

Caveats & Gotchas

  • Every ActivateAbility path must eventually call EndAbility — failing to do so leaks the ability activation and can break future activations.
  • InstancingPolicy controls whether a new instance is created per activation. NonInstanced abilities share the CDO; do not store per-activation data on the ability object when using NonInstanced.
  • CommitAbility must be called inside ActivateAbility to consume costs and cooldowns. Forgetting it allows the ability to fire without cost.

Example

Minimal ability override C++
void UMyFireAbility::ActivateAbility(const FGameplayAbilitySpecHandle Handle,
    const FGameplayAbilityActorInfo* ActorInfo,
    const FGameplayAbilityActivationInfo ActivationInfo,
    const FGameplayEventData* TriggerEventData)
{
    if (!CommitAbility(Handle, ActorInfo, ActivationInfo))
    {
        EndAbility(Handle, ActorInfo, ActivationInfo, true, true);
        return;
    }
    // Do ability logic here
    EndAbility(Handle, ActorInfo, ActivationInfo, true, false);
}

Version History

Introduced in: unknown

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.