{"repo":"strayTrain/SimpleEventSubsystemPlugin","free":true,"listed":false,"github":"https://github.com/strayTrain/SimpleEventSubsystemPlugin","clone":"git clone https://github.com/strayTrain/SimpleEventSubsystemPlugin.git","description":"An Unreal Engine plugin that provides a subsystem for sending non replicated events with arbitrary structs as payloads","language":"C++","stars":35,"topics":["unreal-engine-plugin","unreal-engine","unreal-engine-5"],"license":"MIT","category":"game-templates","readme_excerpt":"Simple Event Plugin Simple Event Plugin is a lightweight Unreal Engine plugin that provides a subsystem to send and listen for events. Events can come with a payload that can be any UStruct you create in C++ or Blueprints (via InstancedStruct). Anything that has access to the GameInstance (e.g Widgets, Pawns, PlayerControllers) can listen for and send events. API Summary Sending an event Events are identified using two gameplay tags: - EventTag e.g Events.UI.ButtonClicked - DomainTag e.g EventDomains.UI.PauseMenu Events also have optional parameters: - Payload : You can use any struct as a payload to provide extra context to the event by passing it through the MakeInstancedStruct node. - Sender : This is an Actor input used to identify who sent the event. Later, when listening for an event you can filter by senders. Why use two tags instead of one? Using a domain tag can help cut down on repetitive tag names. For example, imagine we have a manager object that wants to know when any UI button gets clicked. Using a DomainTag we can use the following to identify the events of interest EventTag = UI.ButtonClicked DomainTags = [EventDomains.MainMenu, EventDomains.OptionsMenu, EventDomains.PauseMenu] Without a DomainTag we would need to listen for: EventTags = [UI.MainMenu.ButtonClicked, UI.OptionsMenu.ButtonClicked, UI.PauseMenu.ButtonClicked] Without a DomainTag we have 3 \"ButtonClicked\" tags and this looks messy in my opinion as we start to add more tags during development. List","default_branch":null,"files":null,"tree":[],"storefront":"/r/strayTrain","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/strayTrain/SimpleEventSubsystemPlugin/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}