This article was designed to provide users with a basic overview of the features and functionality of General Event System.
General Event System is a UE4 plugin that provides the ability for any UObject to post and receive events with different parameters.The events of this system are defined in a single data table for unified management. A single event definition is composed of event id and arguments list. The listener object can register any defined event with a delegate function. Once the target event is received by listener object and the delegate function will be called. One can post event with parameters from anywhere.
Following blew steps, you will use this tool quickly.
(1) Create events defination data table
In Content Browser of UE4 Editor, click right mouse button and select “Miscellaneous” -> “Data Table” as follow.
Select row structure “Event Def” as follow.
An example is given in Content\ThirdPersonBP\Blueprints\GlobalEventDefTable.
(2) Define events in the data table
After creating the data table, you can add event definitions according to your requirement.
Each row of table represents a definition of one event.
EventID: The unique ID of an event. The ID must be unique inside the table.
Args: The arguments list define the type of parameters, that will pass by the event for delegate function. The arguments’ order and type of the delegate function must be same as Args defined in data table.
(3) Create an event manager blueprint
In Content Browser of UE4 Editor, click right mouse button and select “Blueprint Class”. Pick “EventManager” as Parent Class.
Open the event manager blueprint and config the event definitions table.
An example is given in Content\ThirdPersonBP\Blueprints\BP_GeneralEventManager.
(4) Config event manager singleton class
Open ProjectSetting in UE4 Editor and select the event manager blueprint, created in Step (3), as the Game Singleton Class.
Users must restart UE4 Editor to take the config into effect.
(5) Create event listener and register events
For the object that needs to receive events, users should create “EventLisener” varaible and delegate functions.
Call “Register” node to register event and its delegate function. User should unregister events after the listener is destroyed.
An example is given in Content\ThirdPersonBP\Blueprints\MainUI.
(6) Post event with parameters
User can post event in anywhere. All listeners will receive event and their delegate functions will be call.
Notice that the parametes should be pushed in order as the arguments list defined in data table in Step (2). After pushing all parameters into buffer, user can post targer event by Post Event node.
An example is given in Content\ThirdPersonBP\Blueprints\ThirdPersonCharacter.
if you want to add the plugin to your own project, just following the steps given below.
Put GeneralEventSystem to folder “Plugins” in your project.
Right click your project file(.uprojcet) and select “Generate Visual Studio project files”
Open Visual Studio project and complile.
In the event you are unable to find the information you seek, feel free to contact firstname.lastname@example.org.
 UE4 Marketplace