Game Engine and Assets Leaks

[UE4] Global Event Handler

Submitted by canread, , Thread ID: 203881

Thread Closed
18-04-2021, 05:54 PM
This post was last modified: 18-04-2021, 05:59 PM by canread
#1
Global Event System for Blueprints and C++ (Game Instance Subsystem Based). Send Events (and Payloads) from one UObject to many other UObjects anonymously. No need for casting or even knowing if the receivers exist.

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 Wink



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.



Payloads supported

Send any UObject Payload containing any kind of data.

Technical Details
Features:

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.
Code Modules:

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)




Content locked
This content has been locked. Please login or register in order to unlock it.

Users browsing this thread: 1 Guest(s)