> For the complete documentation index, see [llms.txt](https://asperazera.gitbook.io/ultimate-event-system/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://asperazera.gitbook.io/ultimate-event-system/quickstart/send-event.md).

# Sending Events

The **Send Event** node is the primary way to broadcast a message. Any Blueprint can send an event, and it doesn't matter whether anyone is listening.

<figure><img src="/files/MFd7vOF2tYXnxLHgdi0m" alt=""><figcaption></figcaption></figure>

***

### Step 1: Add the Node

Open any Blueprint (Actor, Widget, GameMode, Component, etc.) where something happens that others might care about.

1. Right-click on the graph.
2. Search for **"Send Event"**.
3. Select it under the **UES** category.

<figure><img src="/files/e0tSQJKGoqBC13Kxxhny" alt=""><figcaption></figcaption></figure>

***

### Step 2: Choose the Event Tag

Events are identified by **Gameplay Tags**. The `Event Tag` pin takes a single tag.

1. Click the **Event Tag** dropdown on the node.
2. Pick an existing tag (e.g. `Event.Player.Death`), **or** click the **`+`** to add a new one on the fly.
3. When creating a new tag, name it (e.g. `Event.Player.Death`) and save it to `DefaultGameplayTags.ini`.

{% hint style="info" %}
**Tip:** You don't have to define tags in Project Settings beforehand - you can create them right here. A clear naming scheme like `Domain.Category.Action` (e.g. `UI.HUD.ScoreChanged`) keeps events tidy.
{% endhint %}

<figure><img src="/files/k1kjDI2n1MJcSGVGyBD0" alt=""><figcaption></figcaption></figure>

***

### Step 3: Fire It

Connect an execution wire into the node - for example from an **Overlap**, a **button click**, or any gameplay moment - and the event is broadcast.

That's the minimum needed to send an event. The node has a few more pins - leave them at their defaults for now if you like:

* **Sender** - the object that "sent" the event. Defaults to `Self`, but you can plug in **any** actor or object reference to broadcast on its behalf. Every subscriber receives it on their callback's **Sender** pin, so they can react to *who* sent the event (it also shows up in the debug logs and overlay). It must be a valid object - an invalid Sender cancels the send.
* **Payload** - leave it empty to send a "signal-only" event. To attach data, see [Payloads](/ultimate-event-system/advanced/payloads.md).
* **Trigger Parent Tags** - leave it `False` for now. See [Tag Hierarchy](/ultimate-event-system/advanced/tag-hierarchy.md).

<figure><img src="/files/EDJQOaWhsUWqaOoxUZRk" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Done!** Your event is now on the bus. Next, learn how another Blueprint can [Receive an Event](/ultimate-event-system/quickstart/receive-event.md).
{% endhint %}
