Skip to content

GE Component Catalog

UGameplayEffectComponent subclasses are the modular building blocks of Gameplay Effects, introduced in UE 5.3. Each component adds a specific behavior to its owning GE. Components are native-only (no Blueprint subclassing) and stateless at runtime — they live on the GE CDO, not on individual instances.

For concepts, see GE Components. For the base class API, see UGameplayEffectComponent.


Component Summary

Class Display Name Purpose Key Callbacks
UAbilitiesGameplayEffectComponent Grant Gameplay Abilities Grants abilities to the target while the GE is active OnActiveGameplayEffectAdded
UAdditionalEffectsGameplayEffectComponent Apply Additional Effects Applies secondary GEs on application, completion, or premature removal OnActiveGameplayEffectAdded, OnGameplayEffectApplied
UAssetTagsGameplayEffectComponent Tags This Effect Has (Asset Tags) Tags the GE asset owns (used for queries, not granted to actors) OnGameplayEffectChanged
UBlockAbilityTagsGameplayEffectComponent Block Abilities with Tags Prevents abilities with matching tags from activating while GE is active OnGameplayEffectChanged
UCancelAbilityTagsGameplayEffectComponent Cancel Abilities with Tags Cancels active abilities with (or without) matching tags OnGameplayEffectApplied, OnGameplayEffectExecuted
UChanceToApplyGameplayEffectComponent Chance To Apply This Effect Adds a probability gate to GE application CanGameplayEffectApply
UCustomCanApplyGameplayEffectComponent Custom Can Apply This Effect Delegates application checks to custom UGameplayEffectCustomApplicationRequirement classes CanGameplayEffectApply
UImmunityGameplayEffectComponent Immunity to Other Effects Blocks application of other GEs matching query criteria while active OnActiveGameplayEffectAdded
URemoveOtherGameplayEffectComponent Remove Other Effects Removes other active GEs matching query criteria on application OnGameplayEffectApplied
UTargetTagRequirementsGameplayEffectComponent Require Tags to Apply/Continue This Effect Controls application, ongoing validity, and removal based on target tags CanGameplayEffectApply, OnActiveGameplayEffectAdded
UTargetTagsGameplayEffectComponent Grant Tags to Target Actor Grants tags to the target actor while the GE is active OnGameplayEffectChanged

Base Class

UGameplayEffectComponent (Abstract) provides the callback interface that subclasses override:

Virtual Method When Called Return
CanGameplayEffectApply() Before application — all components must return true boolfalse blocks application
OnActiveGameplayEffectAdded() When a duration/infinite GE is added to the FActiveGameplayEffectsContainer (including via replication) boolfalse inhibits the effect
OnGameplayEffectExecuted() When an instant GE executes (server only). Also fires each period for periodic effects. void
OnGameplayEffectApplied() When a GE is initially applied or stacked. Not periodic, not via replication. void
OnGameplayEffectChanged() When the owning GE asset is modified in the editor void

Component Details

Grant Gameplay Abilities

Class: UAbilitiesGameplayEffectComponent

Grants abilities to the target while the GE is active. Abilities are added when the GE becomes uninhibited and removed based on the configured RemovalPolicy.

Property Type Description
GrantAbilityConfigs TArray<FGameplayAbilitySpecConfig> Array of abilities to grant

Each FGameplayAbilitySpecConfig contains:

Field Type Default Description
Ability TSubclassOf<UGameplayAbility> -- The ability class to grant
LevelScalableFloat FScalableFloat 1.0 Level of the granted ability (supports curve scaling)
InputID int32 INDEX_NONE Input ID to bind the ability to
RemovalPolicy EGameplayEffectGrantedAbilityRemovePolicy CancelAbilityImmediately What happens when the GE is removed

Duration required

This component only makes sense on HasDuration or Infinite effects. Instant effects are never "active" and cannot grant abilities.


Apply Additional Effects

Class: UAdditionalEffectsGameplayEffectComponent

Applies secondary Gameplay Effects under various conditions.

Property Type Description
bOnApplicationCopyDataFromOriginalSpec bool (default: false) Copy SetByCaller data from the parent GE spec to OnApplication specs
OnApplicationGameplayEffects TArray<FConditionalGameplayEffect> GEs applied when this effect applies (supports conditions)
OnCompleteAlways TArray<TSubclassOf<UGameplayEffect>> GEs applied when this effect ends, regardless of how
OnCompleteNormal TArray<TSubclassOf<UGameplayEffect>> GEs applied only when this effect expires naturally
OnCompletePrematurely TArray<TSubclassOf<UGameplayEffect>> GEs applied only when this effect is removed early

Asset Tags

Class: UAssetTagsGameplayEffectComponent

Tags that the GE asset itself "has." These tags are used for GE queries (e.g., immunity checks, FGameplayEffectQuery) but are not granted to any actor.

Property Type Description
InheritableAssetTags FInheritedTagContainer Asset tags with parent GE inheritance support

Block Abilities with Tags

Class: UBlockAbilityTagsGameplayEffectComponent

While this GE is active on a target, abilities with matching AbilityTags are blocked from activating.

Property Type Description
InheritableBlockedAbilityTagsContainer FInheritedTagContainer Tags that block ability activation, with inheritance

Cancel Abilities with Tags

Class: UCancelAbilityTagsGameplayEffectComponent

Cancels currently active abilities based on tag matching. Supports two timing modes.

Property Type Description
ComponentMode ECancelAbilityTagsGameplayEffectComponentMode OnApplication (once on apply) or OnExecution (each periodic tick)
InheritableCancelAbilitiesWithTagsContainer FInheritedTagContainer Cancel abilities that have these tags
InheritableCancelAbilitiesWithoutTagsContainer FInheritedTagContainer Cancel abilities that do not have these tags

Chance to Apply

Class: UChanceToApplyGameplayEffectComponent

Adds a random probability gate to GE application.

Property Type Description
ChanceToApplyToTarget FScalableFloat Probability from 0.0 (never) to 1.0 (always). Supports level scaling.

Custom Can Apply

Class: UCustomCanApplyGameplayEffectComponent

Delegates the "can this GE apply?" check to one or more custom C++ classes.

Property Type Description
ApplicationRequirements TArray<TSubclassOf<UGameplayEffectCustomApplicationRequirement>> Custom requirement classes. All must return true.

Each UGameplayEffectCustomApplicationRequirement subclass implements CanApplyGameplayEffect() with access to the GE definition, spec, and target ASC.


Immunity

Class: UImmunityGameplayEffectComponent

While this GE is active, it blocks application of other GEs that match the configured queries. This is a global check registered on the ASC.

Property Type Description
ImmunityQueries TArray<FGameplayEffectQuery> Queries matched against incoming GE specs. Any match blocks application.

For concepts, see Immunity.

Duration required

Instant effects cannot grant immunity because they are not persistently active on the ASC.


Remove Other Effects

Class: URemoveOtherGameplayEffectComponent

On application, removes any active GEs on the target that match the configured queries.

Property Type Description
RemoveGameplayEffectQueries TArray<FGameplayEffectQuery> Queries matched against active GEs. Any match is removed.

Target Tag Requirements

Class: UTargetTagRequirementsGameplayEffectComponent

The most complex tag component. Controls three separate tag-based behaviors:

Property Type Description
ApplicationTagRequirements FGameplayTagRequirements Target must meet these requirements for the GE to apply. Pass/fail at application time.
OngoingTagRequirements FGameplayTagRequirements While active, the GE is inhibited if the target stops meeting these requirements. Re-activates when met again.
RemovalTagRequirements FGameplayTagRequirements If the target meets these requirements, the GE is removed entirely (not just inhibited). Also prevents application.

Grant Tags to Target

Class: UTargetTagsGameplayEffectComponent

Grants tags to the target actor's owned tag set while the GE is active.

Property Type Description
InheritableGrantedTagsContainer FInheritedTagContainer Tags granted to the target, with parent GE inheritance support

These tags are removed when the GE expires or is removed.