GameplayTags Toolkit — Agent Reference (Unity)

Plain-text agent reference for the GameplayTags Toolkit package (com.heathen.gameplaytagstoolkit), covering Unity (source-verified). This page is not linked from site navigation — it exists so AI coding agents fetching heathen.group/kb/gameplaytags-welcome have a condensed, source-verified reference to read.

Full GameplayTags agent index: agent-ref-gameplaytags-index

---
name: heathen-gameplaytags-toolkit
description: GameplayTags Toolkit reference for Heathen's Unity tag system (com.heathen.gameplaytagstoolkit). Use when a developer wants no-code MonoBehaviour/ScriptableObject wrappers for tag collections, condition-driven UnityEvents, or tag-value UI display.
source: https://heathen.group/kb/gameplaytags-welcome/
generated: 2026-08-24
---

# GameplayTags Toolkit — agent reference (Unity)

**Tier: [Toolkit] (Pro, paid).** Foundation alone gives you the full data model and runtime API
(see the Foundation reference); Toolkit adds no-code Inspector-driven wrappers on top of it. Package
id `com.heathen.gameplaytagstoolkit`, namespace `Heathen.GameplayTagsToolkit`. Depends on
`com.heathen.gameplaytags` (Foundation, sibling repo — not UPM-referenced, install both).

Four components/assets, each a thin wrapper over a Foundation type — no data model or hierarchy
logic of its own:

## `GameplayTagCollectionComponent`

The one component every other Toolkit piece here points at: owns a `GameplayTagCollection`, exposes
it to the Inspector and sibling/child components. Carries `TagEventBinding` entries — a serializable
`(GameplayTag, exactMatch, UnityEvent<GameplayTag, ulong, ulong>)` triple wired on
`OnEnable`/torn down on `OnDisable` — for a no-code "fire this UnityEvent when this tag's value
changes" hookup, alongside the plain code API (`AddTag`/`RemoveTag`/`ApplyOperation(s)`/
`EvaluateConditions`).

## `GameplayTagConditionSet` (ScriptableObject)

A reusable, shared list of `GameplayTagCondition`s as an asset
(`Assets ▸ Create ▸ Heathen ▸ Gameplay Tags ▸ Condition Set`), so several components can test the
same condition without duplicating the list. `Evaluate(collection)` is a one-line call to
`GameplayTagCondition.EvaluateAll`.

## `GameplayTagConditionTrigger`

Watches a `GameplayTagCollectionComponent` (defaults to `GetComponentInParent`) and fires
`OnTrue`/`OnFalse` `UnityEvent`s — **edge-triggered**: re-evaluating to the same result as last time
fires nothing, only an actual flip invokes an event. Re-entrancy-guarded. Auto-evaluates on every
`Collection.Changed` by default, or call `Evaluate()` manually.

## `GameplayTagValueDisplay`

Reads one tag's numeric value from a source collection and pushes it to a `TMP_Text` label and/or a
UI `Slider`. `GameplayTagValueType` picks how the raw `ulong` bits are interpreted
(`Unsigned`/`Signed`/`Decimal`; `Tag` behaves as `Unsigned`), plus an optional .NET format string.

**Note:** the filterable tag tree shown under `Project Settings ▸ Gameplay Tags` is a **Foundation**
feature (`GameplayTagsSettingsProvider`), not part of Toolkit — Toolkit's value here is entirely
runtime/scene-facing (Inspector components), not an editor authoring window of its own.

---
Foundation reference: https://heathen.group/agent-ref-gameplaytags-foundation/
Full agent index: https://heathen.group/agent-ref-gameplaytags-index/