Generate Event
Use the single Generate Event function (or C++ helper) to fire an AES Event from any object that has an Identity.

Inputs
Section titled “Inputs”- Identity – required; identifies the source (“broadcaster”).
- Event Class – which
AES Eventto instance; you can optionally set its payload pins/fields. - Target Id (optional) – when set, the generated event attempts a direct (whisper‑style) delivery to that Identity. When omitted, the event performs a fan‑out (broadcast behavior) to all matching listener lists.
The manager creates the event instance, fills payload fields, then resolves listeners based on whether a Target Id was supplied.
Behavior
Section titled “Behavior”| Target Id Provided? | Delivery Mode | Listener Resolution |
|---|---|---|
| No | Fan‑out (“broadcast”) | All Broadcast listeners + Type listeners (type tag match) + Focus listeners (Focused Broadcaster ID matches broadcaster Identity ID) |
| Yes | Direct (“whisper”) | Only Whisper registrations whose target Identity matches the provided Target Id |
Notes on Fan‑Out
Section titled “Notes on Fan‑Out”During fan‑out a single generation can reach multiple registration lists (Broadcast / Type / Focus). If the same consumer registered the same AES Event multiple ways and all filters match, its delegate executes once per registration. Keep registrations intentional to avoid duplication.
Notes on Direct (Whisper) Delivery
Section titled “Notes on Direct (Whisper) Delivery”If the specified target Identity does not exist or has no Whisper registration for that event type, nothing happens (no errors thrown).
Deprecation
Section titled “Deprecation”The older separate nodes Generate Broadcast Event and Generate Whisper Event are deprecated. Replace them with the unified Generate Event:
- Old Broadcast node -> call
Generate Eventwithout a Target Id - Old Whisper node -> call
Generate Eventwith a Target Id
Existing registration nodes (Broadcast / Type / Focus / Whisper) continue to work. Only the generation side was unified.
C++ Notes
Section titled “C++ Notes”- Use the unified helper; only set a target identifier when you intend a direct delivery.
- Avoid redundant multi‑mode registrations unless you truly need distinct handling paths.
Quick Debug Checklist
Section titled “Quick Debug Checklist”- Event didn’t fire? Confirm the source has a valid Identity and the Event Class is correct.
- Expected a direct delivery? Ensure you passed a Target Id and that a Whisper registration exists for that Identity & Event.
- Seeing duplicates? Look for overlapping Broadcast / Type / Focus registrations for the same consumer.
- Listener silent during fan‑out? Verify the registration flavor matches (e.g., Type tag aligns, Focus target matches broadcaster Identity).