# Configurator blueprint API

## Overview

This example walks through the steps of binding runtime gameplay logic to Level or Object Configurator events.&#x20;

{% hint style="info" %}
Make sure you have set up your blueprint to start receiving events, from within your [level configurat](https://docs.odyssey.stream/realtime-configurator/level-and-object-configurator/level-configurator)[or](https://docs.odyssey.stream/realtime-configurator/level-and-object-configurator/level-configurator) or your [object configurator](https://docs.odyssey.stream/realtime-configurator/level-and-object-configurator/object-configurator).
{% endhint %}

## Switch on configurator key

In most cases you'll want to set up a **Switch on Configurator Key** node to separate logic based on the specific property you are targeting.

1. Right click on the event node and select **Split Struct Pin:**

<figure><img src="https://files.readme.io/7523765-image.png" alt=""><figcaption></figcaption></figure>

2. Drag out of Event Data Key and select **Switch on Configurator Event Key**:

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

3. Select the new node and in it's options assign the correct **Configurator Dataset** asset to it:

<figure><img src="https://files.readme.io/42db81d-image.png" alt=""><figcaption></figcaption></figure>

4. Your **Switch on Key** node should now be populated with the correct properties.

## Acting on configuration event data

Depending on your property type you have different options for acting on the configuration event data (flowing from the **Event Data** pin).&#x20;

### Strings and numbers

In the case of strings and numbers, the Event Data Value can be passed directly to the consuming node:

![](https://files.readme.io/e54da2e-image.png)

### Enums and booleans

Enum and booleans Configurator values are easy to work with thanks to the **Switch on Configurator enum value** node. Once added, specify the correct Key in its node settings:

![](https://files.readme.io/6df2687-image.png)

### Images

1. Reacting to an Image event type is easy. The Event Data Value can be linked to a **Get Image From URL** node.
2. The bound delegate will fire once the file is downloaded and turned into a runtime texture:

<figure><img src="https://1654663001-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMLBnx8wypJv4bjM4Pgja%2Fuploads%2FBm2BxTmRL3VKgUN3Y0rq%2Fobraz.png?alt=media&#x26;token=e7ec3ec5-a130-4833-8a69-05a30e2e43f6" alt=""><figcaption></figcaption></figure>

### Triggers

Trigger events do not carry any value, and can be used to fire non-parametrized events. Simply drag off the **Switch on Key** node to listen for Trigger events.
