> For the complete documentation index, see [llms.txt](https://asperazera.gitbook.io/simple-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/simple-event-system/advanced/payloads.md).

# Payloads

To pass data (like Points, Names, or Quest IDs) without Hard References, SES uses **Instanced Structs**.

#### Step 1: Create a Structure

Create a standard **Blueprint Structure** in your Content Browser (e.g., **S\_ChatMessage\_Payload** with a **String** variable).

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

{% hint style="info" %}
**Tip:** There is \`S\_Generic\_Payload\` struct that comes with an asset pack. \
It has some basic data type variables and can be used in common scenarios if you need.
{% endhint %}

***

#### Step 2: Sending Payload

When sending an event, you need to "wrap" your structure into the generic Payload container.

1. On the `Send Event` node, locate the **Payload** pin.
2. Drag off it and search for `Make Instanced Struct`.
3. Create `Make S_ChatMessage_Payload` node an connect it to the **Value** pin of `Make Instanced Struct` node.
4. Fill in your data.

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

***

#### Step 3: Receiving Payload

When you receive an event, the data comes as a generic package. You need to open it.

1. From the **Payload** pin on your Event node, drag off and search for `Get Instanced Struct Value`.
2. Drag off from the Value pin and place `break S_ChatMessage_Payload` node.

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://asperazera.gitbook.io/simple-event-system/advanced/payloads.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
