# Global Event System

**URL:** <https://forums.unrealengine.com/t/global-event-system/458449>\
**Category:** Community & Industry Discussion\
**Tags:** unreal-engine, global, delegates, question\
**Created:** [November 15, 2019, 5:06am UTC](https://forums.unrealengine.com/t/global-event-system/458449 "2019-11-15T05:06:05Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Everynone](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/everynone/32/1135017_2.png) [@Everynone](https://forums.unrealengine.com/u/Everynone)\
**Post date:** [November 15, 2019, 7:59am UTC](https://forums.unrealengine.com/t/global-event-system/458449/2 "2019-11-15T07:59:28Z")

</div>

It’s very possible to broadcast.

> you can simply have subscribers to  
> different events

By doing exactly that. Objects can register and become listeners. Example:

> [@Event dispatcher between 2 blueprints](https://forums.unrealengine.com/t/event-dispatcher-between-2-blueprints/116301/3):
>
> Currently you do not have a problem with Dispatchers. You have a problem with passing object references - your missing pin. [HR][/HR] Since you have both objects in the Level Blueprint, you can use the LB as glue between them. Consider the following: Actor A has an Event Dispatcher happy to send the data to whoever is listening: [ActorA.PNG] Actor B has a Custom Event that is waiting for that data: [ActorB.PNG] Currently those 2 objects do not know about one another’s existence. But the Le…

> [@Event dispatcher between 2 blueprints](https://forums.unrealengine.com/t/event-dispatcher-between-2-blueprints/116301/10):
>
> Below is my second BP, I’m going to spawn a bunch of these and make all of them listen to a broadcast (event dispatcher) of an object that created them. All you need is a Custom Event (or a function). Do note the inputs list \*(bool & int) \*of the event - it’s going to be vital later on: And here is the Handler, it’s spawning 6 SpawnedThings and makes them listen to the SendData dispatcher: Every time you call SendData in this handler, all Spawned Things will get…

> which in my view is a very good thing  
> because you avoid spaghetti kinds of  
> relationships between objects. In fact  
> an entire game can be set up with this  
> structure. Why is this considered a  
> bad practice?

Preach! It’s great practice, imho. In my current project I have (almost) completely eliminated direct references to widgets and rely on delegates exclusively.

There is an upfront cost of it being harder to understand and wire up initially - perhaps that’s why it’s not a part of a primer video. You reap the rewards of having your code _despaghettised_ later on, though.

---

_[View the full topic](https://forums.unrealengine.com/t/global-event-system/458449)._
