Design your code using a solid pattern, decouple it and remove all the unnecessary dependencies. Implementation of the Event Aggregator Pattern (Observer Pattern), inspired in WPF frameworks like Prism.
Design your project like a pro
By decoupling your project, and eliminate unnecessary dependencies, you make your projects more modular and testable.
Have you ever tried to migrate a Blueprint and found out that it had tons of dependencies? That's because castings creates dependencies to the casted classes.
Game Instance Subsystem Based
No need to create components or interfaces for using the Global Event Pattern. Just Call and Bind, exactly how the UE4's Event Dispatchers work, but globally ;)
Level Streaming Supported
If you ever tried to communicate to an Actor that lives in a different sublevel, then you know how annoying that can be! This plugin will help with that.
Send any UObject Payload containing any kind of data.
- Call global events by Class, Name or GameplayTag. UObject payloads and metadata is supported.
- Bind and receive global messages. Unbind (and Unbind all) is also supported.
- Methods for debugging and managing the global events are also included.
- Send Events from any UObject to any other UObjects (Actor, Widget, etc).
- Send Events from one Sublevel/Persistent level to another.
- No need to create Components or Interfaces.
- Based on Game Instance Subsystem. So no need to initialize anything.
- The system will automatically "clean" itself when Actors are destroyed or when the level is destroyed.
- TMWEventAggregator [Runtime]
Number of C++ Classes: 2
Network Replicated: Not by default, but supported
Supported Development Platforms: Windows (Should work on any other dev platform)
Supported Target Build Platforms: Windows, Android (Should work on every other platform)