A hierarchical, dot-path GameplayTags implementation for Godot 4 — hashed identifiers with zero runtime string cost once registered, plus a full conditional rules engine (GameplayTagCondition/GameplayTagOperation) for driving gameplay and narrative logic.
What it does
GameplayTags Foundation gives you a structured, hierarchy-aware tag system built on these core types:
GameplayTagRegistry— engine singleton tracking every registered tag and its hierarchyGameplayTagCollection— a RefCounted container of tags with numeric stack values and set operationsGameplayTagCondition— a Resource predicate that tests a tag's presence or value in a collectionGameplayTagOperation— a Resource state mutation that applies arithmetic to a tag's value, guarded by conditions
Tags follow a dot-separated hierarchy. Registering "Effects.Buff.Strength" automatically makes it a descendant of both "Effects.Buff" and "Effects". Hierarchy is stored as parent links compiled to interval (nested-set) encoding, so descendant checks are an O(1) range comparison rather than a hash-set lookup.
GameplayTagCondition and GameplayTagOperation are Resource-derived, not just script-side value types, specifically so they can be authored inline on graph nodes and edited in the Inspector — this is a core dependency for Ogham Storyteller Foundation.
Enable the plugin (Project Settings > Plugins) to get a tag-picker Inspector field on any tag-name property, compact single-row editors for conditions and operations, and a GameplayTags bottom-panel dock for tag-tree CRUD across every .gptags file in the project.
Requirements
- Godot 4.6 or compatible
- Foundation for xxHash, a hard dependency (hashing backend)
- Game Framework, enabled in the consuming project
- Heathen Toolbox, which manages both dependencies for you — if either is missing, enabling this plugin walks you through fetching them automatically.
Links
- Codeberg: https://codeberg.org/Heathen-Engineering/Godot-GameplayTags-Foundation
- Documentation: https://heathen.group/kb/gameplaytags-welcome/
- Support and Discord: https://discord.gg/xmtRNkW7hW
- Licence: Apache 2.0
Want more?
Visit heathen.group to learn more about our work. Supporting us via our storefront — a perpetual, organisation-wide licence, not a subscription — also grants access to our private Git server, where you'll find further tools across multiple engines beyond what's published here.
Changelog for version v1.3.4
No changelog provided for this version.