
描述
Stop wiring references just to send an event.
TagEventBus lets senders and receivers meet on a Gameplay Tag instead of holding references to each other. Broadcast on `Combat.Hit`, listen on `Combat.Hit`, and widgets, actors, and subsystems communicate without knowing about each other. When an event does not arrive, the in-editor debugger shows who broadcast it, how many listeners it reached, and who is listening on that tag.
What you get
Communication by tag on a global bus (GameInstance) and optional local buses on actors.
Typed payloads: any USTRUCT, through Instanced Structs in Blueprints and by const reference in C++.
Sticky events: late listeners can opt in to receive the last value, with an optional time-to-live. Capture and restore retained values in your save/load flow.
In-editor debugger with Overview, Live, Inject, and Contracts tabs. Inject lets you test a receiver before the sender exists.
Delivery control: hierarchical matching, priority, one-shot listeners, throttling, tag queries, pause/resume, listener groups, consumption, and deferred dispatch with coalescing.
Automatic cleanup of managed listeners and C++ RAII subscriptions.
Optional modules: request-response with timeouts and cancellation, and per-tag event contracts (Off, Warn, Ensure, Block) checked outside Shipping.
Built for development and shipping
Full C++ source. No third-party code or marketplace dependencies.
The bus stays in Shipping builds; the debugger, history, statistics, and contract validation are compiled out.
Good to know before you buy
Game Thread only.
No built-in replication: use Unreal's networking between server and clients, then broadcast locally.
Every tag must be registered in the project's Gameplay Tag list.
The debugger tracks the global bus only.
Enabling TagEventBus also enables Epic's GameplayTagsEditor plugin, which ships with the engine. It is editor-only (the debugger's tag pickers use it)
No example project: the documentation includes ready-to-paste Blueprint graphs.
Windows (Win64) only.
AI disclosure: the code is the author's own. Generative AI tools helped polish parts of it and, mainly, write the documentation; every change is reviewed by the author and covered by the test suite.
Documentation and support
Documentation: https://stillcooking.dev/en/products/tageventbus/docs/
Support: https://stillcooking.dev/en/support/
Bug reports and discussions: https://github.com/StillCooking/TagEventBus






