#Best Practices
Gameplay Tags are most valuable when they become a clean shared vocabulary for your project. The goal is not to tag everything. The goal is to make gameplay logic easier to read, reuse, and scale.
#Design Tags Like Gameplay Facts
Good tags read naturally:
This character has Character.State.Stunned.
This attack deals Damage.Type.Fire.
This object belongs to Faction.Enemy.
This quest is Quest.Main.Completed.
If a tag does not read clearly in a sentence, rename it or move it under a better parent.
#Recommended Naming
Use this structure:
Root.Category.Detail
Good:
Character.State.Stunned
Character.State.Burning
Damage.Type.Fire
Faction.Enemy
Quest.Main.Completed
Interaction.Usable.Door
#Choose Strong Root Categories
| Root | Use For |
|---|---|
Character |
Actor states, roles, traits, and abilities. |
Damage |
Damage types, resistances, and immunities. |
Faction |
Teams, relationships, and targeting. |
Interaction |
Usable, locked, highlighted, and interactable objects. |
Item |
Item categories, equipment groups, pickups. |
Quest |
Quest categories and states. |
World |
Environment and level logic. |
#Reactive Logic: Reactions vs Standard Triggers
| Approach | When to Use |
|---|---|
GameplayTagReaction Component |
Dedicated systems requiring serialized FIFO queueing, high-throughput spawn waves, cross-scene persistence, or Play Mode telemetry. |
Game Creator Trigger Events |
Simple localized event responses on existing triggers alongside standard Game Creator events. |
For Each Tagged Game Object |
On-demand imperative loops (e.g. casting AoE spells, global day/night lighting changes). |
#Character Spawning & The "Next Frame" Timing Rule
When reacting to newly instantiated Game Creator Character prefabs with Tagged Game Object Enabled:
- Use Timing / Delay: Next Frame.
- Game Creator characters, ragdolls, and animator rigs initialize across their first frame. Waiting 1 frame ensures that stats, animators, and NavMesh agents are completely ready before instructions execute on the
Target.
#Cross-Scene Persistent Managers
To create game-wide rules (such as global enemy scaling, faction trackers, or ambient music drivers):
- Place a
GameplayTagReactionin your initial bootstrap or main menu scene. - Check Persist Across Scenes.
- The component automatically lives in
DontDestroyOnLoadand uses deterministicKeep Existingduplicate protection so reloading the scene will not spawn duplicate managers.
#Debugging with Scene View Gizmos
ShowcaseOpen full size ↗
- Use the Debug World Offset on
GameplayTagComponentto float debug cards cleanly above character heads or prop centers. - Badges update in real-time in both Edit Mode and Play Mode.
- All gizmos and debug overlays are automatically compiled out in release player builds for zero performance cost.
#Performance Guidelines
Tag checks are lightweight. Object searches are the part to design carefully.
Prefer:
- Checking a known
GameplayTagComponent. - Using trigger or collision Events for local interactions.
- Using physics layers before Gameplay Tag checks.
- Using
For Each Tagged Game Objectfor batch iterations. - Caching repeated query results when appropriate.