Unreal Engine Gameplay Tags

Hierarchical names as the vocabulary for character state.

Gameplay Tags are hierarchical names, like Combat.State.Stunned or Ability.Cooldown.Dash, registered once in the project settings and then used as the vocabulary for character state.

The reason to care is that a tag replaces a boolean everybody has to remember to reset. "Is the player stunned?" stops being a variable on your character class and becomes a question you ask the Ability System Component. A stun effect grants the tag, the effect expires, the tag is gone with it, and every ability that should fail while stunned simply lists that tag in its blocked tags.

Technically tags are an engine-wide module and not part of GAS, but GAS uses them for everything: activation gating, effect application, cue routing. Epic's reference is Using Gameplay Tags in Unreal Engine.

Using Gameplay Tags to store Game State

Using Gameplay Tags to store Game State

Storing state in Gameplay Tags makes it easier to store state and create interesting gameplay