Gameplay TagsGame Creator 2 Module

#Tag Containers

A tag container is a collection of Gameplay Tags. Containers let one object, variable, or property hold multiple labels at the same time.

Example:

Faction.Enemy
Character.State.Burning
Damage.Resistance.Fire
Interaction.Usable

This makes gameplay logic composable. An object can be an enemy, burning, fire-resistant, and usable without requiring four unrelated booleans.

GameplayTagComponent with multiple tags
GameplayTagComponent in Container mode with multiple selected tags.

#GameplayTagComponent

Add Game Creator > Gameplay Tags > Gameplay Tag Component to any GameObject that should participate in tag-based logic.

Common examples:

  • Player and enemy prefabs.
  • Interactable objects.
  • Pickups and loot.
  • Doors, chests, switches, traps.
  • Quest objects.
  • Area triggers.

The component exposes a runtime tag container that can be read or changed by Game Creator and C#.

#Container Mode and Single Tag Mode

Mode Best For Example
Container Objects with several simultaneous tags. Enemy + Burning + Fire Resistant
Single Tag Objects that should hold one primary tag. One current quest state

Container mode is the most flexible and is the best default for most gameplay objects.

Single Tag mode is useful for exclusive categories:

Quest.Main.Available
Quest.Main.Active
Quest.Main.Completed

When a new tag is set in Single Tag mode, it replaces the previous tag.

#Exclusive Groups and Sibling Switching

For category-style states where one option should be active at a time inside a container, use exclusive group actions:

  • Set Exclusive Gameplay Tag
  • Set Parent Group Gameplay Tag
  • Cycle Sibling Gameplay Tag
  • Clear Parent Group Gameplay Tags

These actions let container mode maintain "single choice per branch" behavior:

State.Buff.Haste
State.Buff.Shield
State.Buff.Regeneration

You can keep one active State.Buff.* tag while still keeping unrelated tags like Faction.Enemy in the same container.

#Add, Remove, Clear, and Set

Tags can be changed at runtime through Game Creator Actions:

Action Use
Add Gameplay Tag Apply a state, category, or capability.
Remove Gameplay Tag Remove a temporary state or category.
Clear Gameplay Tags Empty a container.
Set Gameplay Tag Assign a single tag value.
Add Gameplay Tag Action targeting a GameplayTagComponent.

#Runtime Matching

Containers support direct tag checks and container queries:

Query Meaning
Has Tag Does this container include this tag?
Contains Any Does this container include at least one query tag?
Contains All Does this container include every query tag?
Equals Does this container exactly match another container?

Matching can be exact or include children.

Owned: Damage.Type.Fire
Query: Damage.Type
Mode: Include Children
Result: true

#Tag Change Events

GameplayTagComponent exposes runtime events:

  • EventTagsChanged
  • EventTagAdded
  • EventTagRemoved
  • Static lifecycle events: EventCreated, EventRegistered, EventUnregistered, EventDestroying

#Saving Runtime Tags

The plugin includes a Game Creator memory type:

Game Object/Gameplay Tags

Use it when runtime tags on a GameplayTagComponent should be remembered by Game Creator save systems.