Register
Registration nodes are Blueprint-callable static helpers that let any object with an Identity subscribe to specific AES Events.

Core Inputs
Section titled “Core Inputs”| Field | Purpose |
|---|---|
| Identity | Identifies the listener (required). |
| Registration Struct | Specifies Event Class + delegate binding. |
Flavor Matrix
Section titled “Flavor Matrix”Below: what you provide, when it runs, and how it relates to the unified Generate Event call.
| Flavor | Provide at Registration | Delegate Fires When… | Generation Style |
|---|---|---|---|
| Broadcast | Nothing | The specific Event Class is generated without a Target Id. | Generate Event (omit Target Id) |
| Type | A Type Gameplay Tag | Same as Broadcast and broadcaster’s Type tag matches. | Generate Event (omit Target Id) |
| Focus | A Target Identity Id (the broadcaster you care about) | Same as Broadcast and broadcaster’s Identity Id equals the stored Focus Id. | Generate Event (omit Target Id) |
| Whisper | Nothing | Event is generated with a Target Id that equals this listener’s Identity Id. (No broadcast lists evaluated.) | Generate Event (with Target Id) |
Plain Language
Section titled “Plain Language”- Broadcast → “Tell me every time this event is fired globally.”
- Type → “Tell me when it’s global AND the sender is of a category.” (You give the tag.)
- Focus → “Tell me when it’s global AND that exact object sent it.” (You give its Identity Id.)
- Whisper → “Tell me only when someone targets me directly.” (No extra info needed.)
With Generate Event
Section titled “With Generate Event”| Call Pattern | Evaluated Lists | Skipped Lists |
|---|---|---|
Generate Event (no Target Id) | Broadcast, Type (matching tag), Focus (matching broadcaster Id) | Whisper |
Generate Event + Target Id | Whisper (matching target Identity) | Broadcast, Type, Focus |
Focus Registration
Section titled “Focus Registration”Provide the Identity Id of the broadcaster you want to observe. Blank / invalid Id ⇒ ignored.
Type Registration
Section titled “Type Registration”Provide the broadcaster’s Type Gameplay Tag. Empty tag ⇒ ignored.
Overwrites
Section titled “Overwrites”Unregister
Section titled “Unregister”
Each flavor has a matching unregister node with the same filter inputs. Use them to stop listening mid‑lifecycle (e.g. temporarily disabling a system) — not strictly required at destruction time (manager cleans up when an Identity is destroyed).
Unregister All
Section titled “Unregister All”
Removes the Identity from every event it was tracking. Safe to re‑register later.
Common Pitfalls
Section titled “Common Pitfalls”- Delegate never fires: Wrong flavor (e.g. registered Type but broadcaster tag differs; or expected Whisper but generation omitted Target Id).
- Duplicate firings: Same consumer registered via multiple flavors for one event and all filters match (fan‑out path).
- Nothing after restart: Identity not regenerated (ensure Generate Identity executed post‑spawn).
Quick Debug
Section titled “Quick Debug”Use logs or breakpoints inside your bound delegate. If not hit:
- Confirm registration node executed (add a print after it).
- Inspect the Identity (ID & Type Tag) vs. broadcaster.
- Ensure Event Class matches what broadcaster generates.
- Check whether a Target Id was (or wasn’t) supplied consistent with chosen flavor.