# Level configurator

**Level Configurations** are a way for you to add configuration data globally to your main leve&#x6C;*.* The defined configuration UI will show up in your actor menu after being placed.

## Create a configurator dataset

1. In your project's content browser, right click and go to Odyssey -> Odyssey Configurator Dataset<br>

   <figure><img src="/files/Dz42NX2ZSXSCL1qgUPHK" alt="" width="265"><figcaption></figcaption></figure>
2. Find the `OdysseyConfiguratorRegistryActor` instance in your main level (added in [Quickstart](/realtime-configurator/quickstart.md)). In the Details panel, under **Odyssey -> Configurator Dataset,** add your Configurator Dataset asset.<br>

   <figure><img src="/files/vZ4bT7CZIBKiMfTudNVM" alt=""><figcaption></figcaption></figure>
3. You can now start adding level configurations to your dataset

## Create a configuration property

1. Open your Configurator Dataset asset.
2. &#x20;Add a Configurator key to the Dataset using the Add button:<br>

   <figure><img src="https://files.readme.io/977e050-obraz.png" alt=""><figcaption></figcaption></figure>
3. Fill your configuration data in your newly created row. Each configuration needs a **Display Name, Type,** and a **Default Value.**

   <figure><img src="https://files.readme.io/6e8926d-obraz.png" alt=""><figcaption></figcaption></figure>

## Add configuration logic

{% hint style="info" %}
The following blueprint setup is done within a level blueprint for clarity, but you can use any blueprint class.
{% endhint %}

1. Inside your level blueprint, on **BeginPlay**, grab reference to the **OdysseyConfiguratorWorldSubsystem**:

<figure><img src="https://files.readme.io/33142ec-image.png" alt="" width="375"><figcaption></figcaption></figure>

2. Off of the new Configurator node, create a **Register State Changes Listener** and connect it to your Event BeginPlay:

<figure><img src="https://files.readme.io/8b7f5da-image.png" alt=""><figcaption><p>Register state change events from your configurator</p></figcaption></figure>

3. Create an event delegate binding by dragging out from the **On Event Delegate** pin. Select 'Add Custom Event' when prompted.
4. rom this point you can follow the guide [Configurator blueprint API](/realtime-configurator/level-and-object-configurator/configurator-blueprint-api.md) to learn how to set up events and hooks from your configurator properties.


---

# Agent Instructions: 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://docs.odyssey.stream/realtime-configurator/level-and-object-configurator/level-configurator.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.
