EventHub
A project-wide publish/subscribe event bus for Blueprints and C++: emit events by name or GameplayTag with any payload and receive them anywhere, with no references betwβ¦
Highlights
All 11 features βEventHub lets any Blueprint or C++ object emit an event and any other object listen for it, without either side holding a reference to the other. Events are addressed by a Domain and Event string pair (for example global.default / ScoreChanged) or by a GameplayTag picked from a drop-down, and each event can carry one value of any type: number, bool, string, name, struct or object.
Receivers bind a function by name, bind a wildcard delegate and read the value with conversion nodes, use one of the ready-made receiver components, or bind a lambda in C++. Pinned events are replayed to listeners that bind later, so an event can also carry state such as "level ready". Listeners of destroyed objects and of worlds that end are cleaned up automatically.
Use it to decouple UI from gameplay, broadcast game-state changes to many systems at once, connect Blueprints that live in different sub-levels, or let independent game modules talk to each other without hard dependencies.
EventHub is part of the Alpha XP utilities collection for Unreal Engine 4.27 and 5.8. Every feature is exposed to Blueprints and C++, it ships with styled HTML documentation, and it is compiled and verified warning-free against clean UE 4.27 and UE 5.8 projects.
Key features
- Emit events addressed by Domain + Event strings or by GameplayTags; the two forms
- Wildcard payload: send any single property (int, float, bool, string, name, struct or
- Pinned events that are replayed to listeners binding after the emit, plus Unpin
- Bind receivers by function name, by wildcard delegate, through receiver components, or
- Wildcard conversion nodes to read the payload as integer, float, bool, string, name,
- Parameter type checking: a listener whose function does not match the payload type is
- Automatic cleanup of stale listeners and of all events of a world when that world ends
- Base receiver component that binds on BeginPlay and unbinds on EndPlay, with polling
- Eight typed receiver component Blueprints (Bool, Float, Int, Object, Rotator, String,
- C++ handler API with typed emit overloads and typed lambda listeners
- Global options for struct type validation and stale-listener logging
Blueprint & C++ API
Callable runs when executed Β· Pure no exec pin, returns a value
EventHub 23
| Node | Type | Description |
|---|---|---|
| EH Unbind Event(Domain: String, Event: String, Receiving Function: String) | Callable | Remove this listener from the specified event. |
| EH Unbind Tag Event(Tag: Gameplay Tag, Receiving Function: String) | Callable | Remove this listener from the specified event given by GameplayTag. |
| EH Unbind All Events For Context(Context: Object) | Callable | Call this on endplay to remove all events associated with this graph. If context isn't specified, graph context used (default use case). |
| EH Unbind Delegate(Receiving Function: EH One Property Signature, Domain: String, Event: String) | Callable | |
| EH Unbind Tag Delegate(Tag: Gameplay Tag, Receiving Function: EH One Property Signature) | Callable | |
| EH Bind Event(Domain: String, Event: String, Receiving Function: String) | Callable | Bind a function (to current caller) to an EventHub event. Make sure to match your receiving function parameters to the event ones. |
| EH Bind Tag Event(Domained Event Tag: Gameplay Tag, Receiving Function: String) | Callable | Bind a function (to current caller) to an EventHub event defined by a GamePlayTag |
| EH Bind Tag Event To Delegate(Domained Event Tag: Gameplay Tag, Receiving Function: EH One Property Signature) | Callable | Bind a function (to current caller) to an EventHub event defined by a GamePlayTag |
| EH Bind Event To Delegate(Receiving Function: EH One Property Signature, Domain: String, Event: String) | Callable | Bind an event delegate to an EventHub event. Use blueprint utility to decode UProperty. |
| EH Emit Event One Param(Parameter Data: TFieldPath<FProperty>, Pinned: Boolean, Domain: String, Event: String) | Callable | Emit desired event with data. |
| EH Emit Event(Pinned: Boolean, Domain: String, Event: String) | Callable | Just emits the event with no additional data Pinning an event means it will emit to future listeners even if the event has already been emitted. |
| EH Emit Tag Event(Domained Event Tag: Gameplay Tag, Pinned: Boolean) | Callable | Just emits the event with no additional data using GameplayTags to define domain and event. |
| EH Emit Tag Event One Param(Parameter Data: TFieldPath<FProperty>, Domained Event Tag: Gameplay Tag, Pinned: Boolean) | Callable | Emit desired event with data using GameplayTags to define domain and event. Data can be any single property (wrap arrays/maps etc in a struct or object). |
| EH Unpin Event(Domain: String, Event: String) | Callable | If an event was pinned, this will unpin it. If you wish to re-pin a different event you need to unpin the old event first. |
| To Integer (Wildcard Property)(In Prop: EH Wildcard Property) β Boolean, Out Int | Pure | Convert wildcard property into a literal int |
| To Float (Wildcard Property)(In Prop: EH Wildcard Property) β Boolean, Out Float | Pure | Convert wildcard property into a literal float |
| To Bool (Wildcard Property)(In Prop: EH Wildcard Property) β Boolean, Out Bool | Pure | Convert wildcard property into a literal bool |
| To String Ref with status (Wildcard Property)(In Prop: EH Wildcard Property) β Boolean, Out String | Pure | Convert wildcard property into a string (reference) |
| To String (Wildcard Property)(In Prop: EH Wildcard Property) β String | Pure | Will still warn, but won't return a boolean for conversion status, used for auto-casting to print strings for debugging |
| To Name (Wildcard Property)(In Prop: EH Wildcard Property) β Boolean, Out Name | Pure | Convert wildcard property into a literal Name |
| To Struct (Wildcard Property)(In Prop: EH Wildcard Property) β Boolean, Out Struct | Pure | Convert wildcard property into any struct |
| To Object (Wildcard Property)(In Prop: EH Wildcard Property) β Boolean, Out Object | Pure | Convert wildcard property into any Object |
| To Domain and Event (GameplayTag)(In Tag: Gameplay Tag) β Out Domain, Out Event | Pure | Convert a GameplayTag into a Domain and Event string pair |
EventHubOptions 1
| Node | Type | Description |
|---|---|---|
| Set EH Options(In Options: EH Global Options) | Callable | EventHub options are global and affect things like logging and param verification (performance options) |
Events & delegates
Bind these in Blueprint (drag off the object β Bind Event) or with AddDynamic in C++.
| Event | Parameters |
|---|---|
| On Event | Wildcard Property (EH Wildcard Property) |
Compatibility
One ready-made build per engine version is included in the download β copy the one that matches your project.
| Platform | Supported in |
|---|---|
| Windows | Editor & packaged |
| Module | Type | Loading phase |
|---|---|---|
| EventHub | Runtime | Default |
Technical details
| Code modules | EventHub (Runtime) |
|---|---|
| Blueprints | 9 Β· C++ classes: 3 |
| Network replicated | No |
| Development platforms | Windows: Yes, Mac: Not verified |
| Target build platforms | Win64 |
| Third-party software | No |
| Engine versions | Unreal Engine 4.27 Β· 5.8 β a build for each is included |
| C++ classes | 3 + 5 structs |
| Blueprint nodes | 24 |
| Events | 1 |
| Documentation | Documentation.html (in the download) |
| Download | EventHub.zip Β· 243 KB |
| Version | v1.0.0 |
What's in the download
| File | What it is |
|---|---|
| EventHub 4.27.zip | Plugin build for Unreal Engine 4.27 |
| EventHub 5.8.zip | Plugin build for Unreal Engine 5.8 |
| Documentation.html | Documentation (open in a browser) |
Quick start
- Unzip the download and pick the build that matches your engine (4.27 Β· 5.8).
- Copy the EventHub folder into your project's Plugins/ folder (create it if needed).
- Open the project, enable EventHub under Edit βΊ Plugins and restart the editor.
- Right-click in any Blueprint graph and search EventHub β or include the public headers from C++.
- Package for your target platform (Windows).
Good to know
Built and verified warning-free for Unreal Engine 4.27 and 5.8. Events are delivered synchronously inside the local game instance; they are not sent over the network. Uses the engine GameplayTags module. Developed and maintained by Alpha XP.
Everything included
- Emit events addressed by Domain + Event strings or by GameplayTags; the two formsβ¦
- Wildcard payload: send any single property (int, float, bool, string, name, struct orβ¦
- Pinned events that are replayed to listeners binding after the emit, plus Unpin
- Bind receivers by function name, by wildcard delegate, through receiver components, orβ¦
- Wildcard conversion nodes to read the payload as integer, float, bool, string, name,β¦
- Parameter type checking: a listener whose function does not match the payload type isβ¦
- Automatic cleanup of stale listeners and of all events of a world when that world ends
- Base receiver component that binds on BeginPlay and unbinds on EndPlay, with pollingβ¦
- Eight typed receiver component Blueprints (Bool, Float, Int, Object, Rotator, String,β¦
- C++ handler API with typed emit overloads and typed lambda listeners
- Global options for struct type validation and stale-listener logging
Platforms
Requirements
- Unreal Engine 4.27 and 5.8
- Develop on Windows (Win64)
- Blueprints and C++
In the download
Personal
One non-commercial project
- 1 activation seat
- 1 year of updates
- One end product
- Non-commercial use
- Community support
- 14-day refund window
Commercial
Ship paid products
- 5 activation seats
- 1 year of updates
- One paid end product
- Unlimited end users
- Priority support
- Source files
- 14-day refund window
Extended
Resell & white-label
- Unlimited activation seats
- Lifetime updates
- Unlimited end products
- White-label & resell
- 1-hour SLA
- Seat-free team use
- 14-day refund window
One purchase per product, no subscription. Each licence comes with a signed key β 1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended. Paid licences can be refunded within 14 days from your order page.
- v1.0.0Latest
- Unreal Engine 4.27 and 5.8
- Blueprint and C++ API, HTML documentation
Be the first to review EventHub β reviews come from customers who bought it, so every one is a verified purchase.
Frequently asked
How do I get the files after paying?
Straight after checkout you land on your order page with the download button and your licence key. A receipt is emailed to you, and every order stays in My library.
Which licence do I need?
Personal β One non-commercial project. Commercial β Ship paid products. Extended β Resell & white-label. The Licences tab compares them side by side.
On how many devices can I activate it?
1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended.
How long do I get updates?
Personal: 1 year of updates, Commercial: 1 year of updates, Extended: lifetime updates, counted from your purchase.
Can I get a refund?
Yes β paid licences can be refunded within 14 days, straight from your order page.
Is the download safe?
The file was scanned with ClamAV when it was published. Its SHA-256 checksum is listed under Features β In the download, so you can verify the file you receive.
Do I need an account?
No. Checkout only needs your email. Signing in keeps all your purchases, keys and downloads together in My library.
More like this
AudioLens
Real-time audio analysis: FFT spectrum, onset and beat detection, and a full set of time- and frequency-domain descriptors..
β β β β β No reviews yetTTechHarbour$14.00BlueprintTCP
BlueprintTCP lets you connect to any TCP server and exchange data entirely from Blueprints β no C++ and no networking boilerplate.
β β β β β No reviews yetTTechHarbour$12.99BluetoothLink
Bluetooth Low Energy for Unreal - scan, connect, read, write and subscribe to BLE devices on Android and iOS.
β β β β β No reviews yetTTechHarbour$11.99ClusterLink
SocketCluster realtime client for Unreal - pub/sub channels, auth engine and JSON codec, usable from Blueprints.
β β β β β No reviews yetTTechHarbour$11.99