Skip to content

Gameplay Effects Deep Dive

Gameplay Effects (GEs) are the workhorse of GAS. They are the data-driven bundles that actually do things to actors: heal them, burn them, speed them up, slow them down, grant them abilities, make them immune to crowd control. If Gameplay Abilities are the verbs, Gameplay Effects are the nouns — the tangible changes applied to an actor's state.

This section goes deep. If you are looking for a high-level overview, start with the Core Concepts: Gameplay Effects Overview first, then come back here.

The Three Duration Types (Quick Recap)

Every Gameplay Effect has a Duration Policy that determines its lifetime:

Duration Policy What It Does Lives In Active GE Container?
Instant Executes once, permanently changes base attribute values, then disappears No
Has Duration Lives on the target for a set amount of time, modifying attributes while active Yes
Infinite Lives on the target forever (until explicitly removed) Yes

Duration and Infinite effects are added to the Active Gameplay Effects Container. Instant effects are executed — they modify the base value of an attribute and are gone. This distinction matters a lot, and we cover it thoroughly in Duration and Lifecycle.

Decision Tree: Where Should I Go?

Not sure which page answers your question? Start here.

"I want to..."

Suggested Reading Order

If you are working through this for the first time, this order builds concepts progressively:

  1. Duration and Lifecycle — the foundation
  2. Modifiers — how attributes get changed
  3. Magnitude Calculations — where the numbers come from
  4. SetByCaller — the most common way to pass data into effects
  5. Execution Calculations — the power tool for complex formulas
  6. Stacking — what happens when the same effect is applied twice
  7. GE Components — the modular architecture (5.3+)
  8. Tags and Requirements — conditional application and ongoing requirements
  9. Immunity — blocking effects
  10. Cooldowns and Costs — the ability economy
  11. Dynamic Effects — runtime creation and modification

Already comfortable with GAS?

If you have shipped a project with GAS before and just need to look something up, jump straight to whatever page interests you. Each page is designed to stand on its own.

Key Source Files

For engine spelunkers, the relevant headers live under Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/:

File What It Contains
GameplayEffect.h UGameplayEffect, FGameplayEffectSpec, FActiveGameplayEffect, modifier structs, stacking enums
GameplayEffectTypes.h EGameplayModOp, evaluation channels, FGameplayEffectContext
GameplayEffectComponent.h UGameplayEffectComponent base class
GameplayEffectComponents/*.h All 11 built-in component types
GameplayEffectExecutionCalculation.h UGameplayEffectExecutionCalculation and its parameter/output structs
GameplayModMagnitudeCalculation.h UGameplayModMagnitudeCalculation base class