#Gameplay Tags Overview
Gameplay Tags are structured labels that describe gameplay meaning. They are best used for questions like:
- Is this character stunned?
- Is this object an enemy?
- Is this attack fire damage?
- Is this quest completed?
- Is this object usable?
They make gameplay logic easier to read because tags describe intent directly:
Character.State.Stunned
Damage.Type.Fire
Faction.Enemy
Quest.Main.Completed
Interaction.Usable.Door
#Dot Syntax
Gameplay Tags use dot-separated paths:
Root.Category.Detail
Each segment narrows the meaning.
Damage
Damage.Type
Damage.Type.Fire
Damage is broad. Damage.Type.Fire is specific.
#Hierarchy
The hierarchy is not just visual organization. It also supports parent/child matching.
Example hierarchy:
Character
Character.State
Character.State.Stunned
Character.State.Burning
Character.State.Frozen
A system can check for:
Character.State
and match any child state when using Include Children.
#Matching Modes
| Mode | Use When | Example |
|---|---|---|
Exact |
You need one specific tag. | Damage.Type.Fire matches only Damage.Type.Fire. |
Include Children |
A parent category should match its child tags. | Damage.Type matches Damage.Type.Fire. |
Example:
Owned tag: Damage.Type.Fire
Query: Damage.Type
Mode: Include Children
Result: Match
With Exact, the same query does not match because the full paths are different.
#Gameplay Tags vs Unity Tags
Unity Tags are useful, but they are limited to one flat tag per GameObject. Gameplay Tags are designed for richer gameplay logic.
| Unity Tags | Gameplay Tags |
|---|---|
| One tag per GameObject | Multiple tags per object or container |
| Flat list | Hierarchical dot syntax |
| Useful for simple Unity-level categories | Useful for gameplay state and classification |
| No parent/child matching | Exact and parent/child matching |
| Usually edited in Unity project settings | Managed in the plugin's Gameplay Tags database |
Use Unity Tags when a Unity feature or existing asset expects them. Use Gameplay Tags for gameplay systems that need scalable classification.
#Gameplay Tags vs Variables
Game Creator Variables store values. Gameplay Tags describe meaning.
Use Variables for:
- Health, mana, stamina, score, or currency.
- Timers and cooldowns.
- Positions, rotations, numbers, and strings.
- Object references.
- Quest counters or progress amounts.
Use Gameplay Tags for:
- State:
Character.State.Stunned - Faction:
Faction.Enemy - Damage identity:
Damage.Type.Fire - Interaction type:
Interaction.Usable.Door - Quest category or state:
Quest.Main.Completed
Rule of thumb
If you need math, use a Variable. If you need classification, use a Gameplay Tag.
#Real-World Examples
#Character States
Character.State.Stunned
Character.State.Burning
Character.State.Invulnerable
Character.State.Silenced
Character.State.Dead
Use these to block movement, disable abilities, drive UI indicators, or change AI behavior.
#Factions
Faction.Player
Faction.Enemy
Faction.Neutral
Faction.Ally
Use these for targeting, combat filtering, dialogue branches, and relationship logic.
#Damage
Damage.Type.Fire
Damage.Type.Ice
Damage.Type.Poison
Damage.Resistance.Fire
Damage.Immunity.Poison
Use tags to describe the kind of damage. Store the amount as a number.
#Quests
Quest.Main.Active
Quest.Main.Completed
Quest.Side.Available
Quest.Side.Completed
Use tags for broad quest state and category checks. Store quest progress values separately.
#Interactions
Interaction.Usable
Interaction.Usable.Door
Interaction.Usable.Chest
Interaction.Locked
Use these for prompts, highlighting, raycasts, and interaction Conditions.