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

# Documentation

***

### **Adding Echoluma Controller and Echoluma Lights to the Scene**

* Open Content Browser.
* Find `BP_EcholumaLightController` and your preferred Echoluma Light:

<div align="left"><figure><img src="/files/DLhCI6GzGanhG1JKeN5a" alt="Echoluma BeatSync Folder view"><figcaption></figcaption></figure> <figure><img src="/files/QzNamikDMbOBCpl34hPV" alt="Echoluma Light Controller Blueprint"><figcaption></figcaption></figure> <figure><img src="/files/8Nn2X91HxSURfG6cFB3F" alt="Echoluma Light Blueprints"><figcaption></figcaption></figure></div>

* Drag\&Drop `BP_EcholumaLightController` and Echoluma Lights into the scene.
* All required settings are located in the **Details Panel** of the controller.<br>

### **Playback Control**

These control when and how the system runs.

<div align="left" data-with-frame="true"><figure><img src="/files/8HjTpzRlnXe5AJQVZzCI" alt="Echoluma Light Controller Details Panel Playback Control UI"><figcaption></figcaption></figure></div>

<details>

<summary><strong>Controlled Lights</strong></summary>

Defines which lights are controlled by this Echoluma Light Controller.

Add lights to this array by pressing <i class="fa-circle-plus">:circle-plus:</i> and then selecting an Echoluma Light in the scene with <i class="fa-eye-dropper">:eye-dropper:</i> to include them in the sequence.

<div align="left" data-with-frame="true"><figure><img src="/files/teTggFPRQlcvcyJNovzC" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Offsets are applied based on the order in **Controlled Lights**.

The first light in the list receives the first offset, followed sequentially.
{% endhint %}

</details>

<details>

<summary><strong>BPM</strong></summary>

Short for Beats Per Minute. Sets the tempo of the system by defining how many beats the system will execute in a minute.

The entire system is driven by this value, making accurate BPM setup essential for proper synchronization.

You can use the free online tool below to calculate the BPM of your music:

<https://tunebat.com/Analyzer>

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

</details>

<details>

<summary><strong>Mode</strong></summary>

This setting defines whether the system uses a constant pulse, a single step, or a full sequence of steps.

* **Auto**

  Automatically selects the most appropriate mode based on available data.

  &#x20;  <sub>Uses All Echoluma Steps if valid sequence data exists</sub>  \
  &#x20;   <sub>Falls back to Single Step if only one step is defined</sub>  \
  &#x20;   <sub>Defaults to Mono if no pattern data is available</sub>

  Recommended for general use.

***

* **Mono**

  Executes a beat constantly based on BPM value.

  All beats are treated as active, creating a constant rhythmic pulse.

  Useful for:

  &#x20;   <sub>Testing timing and intensity</sub>  \
  &#x20;   <sub>Continuous strobe or uniform motion</sub>  \
  &#x20;   <sub>Simple, consistent lighting setups</sub>

***

* **Single Step**

  Executes beats based on a single boolean pattern of chosen Step index.

  &#x20;   <sub>True → Beat is triggered</sub>  \
  &#x20;   <sub>False → Beat is skipped</sub>

  Useful for testing steps individually.

***

* **Step Sequence**

  Executes a series of steps, each with its own pattern and light configuration.

  Each step can contain:

  &#x20;   <sub>Unique pattern data</sub>  \
  &#x20;   <sub>Movement settings</sub>  \
  &#x20;   <sub>Light FX and look values</sub>

  Steps are played in order, forming a complete timed performance.

</details>

<details>

<summary><strong>Preview Step</strong></summary>

Lets you preview a specific single step without playing the full sequence.

Requires **Mono** or **Single Step** mode.

</details>

<details>

<summary><strong>Start On Begin Play?</strong></summary>

Automatically starts the light show when the scene begins.&#x20;

{% hint style="warning" %}
If it turned off, light show should be started manually by using the "Begin Light Show" Blueprint node.&#x20;

![](/files/gIep0qK5nfgi3TEg8TuJ)

Check out [Starting Light Show Manually](/dorreal_art_docs/documentation/advanced/starting-light-show-manually.md) to learn how.
{% endhint %}

</details>

<details>

<summary><strong>Loop?</strong></summary>

* [x] Repeats the sequence indefinitely.
* [ ] Stops after executing all beats.

</details>

### **Echoluma Steps**

These steps define what happens over time.

<div align="left" data-with-frame="true"><figure><img src="/files/SCdeHvwNCWsIB57FohYq" alt=""><figcaption></figcaption></figure></div>

<details>

<summary><strong>Adding Echoluma Steps</strong></summary>

Steps can be added through the <i class="fa-circle-plus">:circle-plus:</i> icon next to "Echoluma Steps". Each step index contains:

* <sub>Pattern (beat execution)</sub>
* <sub>Envelope (timing)</sub>
* <sub>Light Look (appearance)</sub>
* <sub>Movement (motion)</sub>
* <sub>Light FX (effects)</sub>

</details>

### **Step Pattern**

Defines beat execution for the step.&#x20;

<div align="left" data-with-frame="true"><figure><img src="/files/BY30DNU3GwwLOAX6hLqb" alt=""><figcaption></figcaption></figure></div>

&#x20;   <sub>True → Beat is triggered</sub>\
&#x20;   <sub>False → Beat is skipped</sub>

<details>

<summary><strong>Adding Pattern Indexes</strong></summary>

Pattern Indexes can be added through the <i class="fa-circle-plus">:circle-plus:</i> icon next to Step Pattern. Then making the index true will make the system to execute that beat.

</details>

<details>

<summary><strong>Duplicate Pattern</strong></summary>

Duplicate Pattern button extends the current pattern by duplicating the existing one, preserving the original rhythm.

</details>

### **Envelope**

Defines the intensity envelope applied per beat.

<div align="left" data-with-frame="true"><figure><img src="/files/qhEYI81UPDYbodKESnPy" alt=""><figcaption></figcaption></figure></div>

<details>

<summary><strong>Attack</strong></summary>

Controls how quickly the light intensity rises from dim value to hit value after a beat is triggered.

</details>

<details>

<summary><strong>Peak</strong></summary>

Determines how long the light stays at hit value before transitioning to release.

</details>

<details>

<summary><strong>Release</strong></summary>

Controls how quickly the light fades from hit value back to its dim value.

</details>

{% hint style="info" %}
If the sum of **Attack + Peak + Release** exceeds the duration of a **beat**, the values are automatically scaled at runtime.

> Keeps the envelope within the available time window.
> {% endhint %}

Together, these settings allow you to shape the energy and feel of the lighting behavior, from sharp electronic pulses to smoother cinematic transitions.

### **Light Look**

Defines the visual appearance of the light during active beats and its resting state. Controls intensity, color, and beam shape for both Hit (active) and Dim (idle) phases.

<div align="left" data-with-frame="true"><figure><img src="/files/IBt00M6YlEmUCuJ4fNio" alt=""><figcaption></figcaption></figure></div>

<details>

<summary><strong>Lights Offset Beats</strong></summary>

Shifts activation timing relative to the main beat. The amount of shift depends on the light’s order in the Controlled Lights array.

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

</details>

<details>

<summary><strong>Hit Intensity, Color &#x26; Cone Angle</strong></summary>

Defines the maximum light intensity, color and cone angle reached during an active beat.

</details>

<details>

<summary><strong>Dim Intensity, Color &#x26; Cone Angle</strong></summary>

Defines the base intensity, color and cone angle of the light when no beat is active. Acts as the resting state between hits.

</details>

<details>

<summary><strong>Auto Color Behaviour</strong></summary>

Auto Color Behavior controls how colors are distributed across multiple lights.<br>

* **Group**\
  Assigns one color per beat to the entire group of lights.

***

* **Individual**\
  Assigns different colors to each light on every beat.

<figure><img src="/files/2abwZBlNLfqf8d2hq6yh" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>Auto Color Assignment</strong></summary>

When enabled, the system automatically assigns colors per beat based on internal color variation logic. Overrides manually set Hit Color values while active.<br>

* **Off**

  Auto Color off. Uses the user defined Hit and Dim colors.

***

* **Dim Only**

  Dim Only applies automatic colors for when the beat is inactive.

***

* **Hit Only**

  Hit Only activates automatic color assignment only when beats fire.

***

* **Always**

  Always enables both Hit and Dim auto color assignment.

</details>

### **Movement**

Defines how controlled lights move in space over time. Includes rotation, preset based motion, target references, timing, and speed controls.

<div align="left" data-with-frame="true"><figure><img src="/files/l5OuzjODSa8EoBXiR4Z3" alt=""><figcaption></figcaption></figure></div>

<details>

<summary><strong>Pan, Tilt &#x26; Roll</strong></summary>

Pan, Tilt, and Roll control the rotational pivots of the light.

Unlike static axis rotation systems, these axes are evaluated relative to the light’s current world rotation, allowing movement behavior to adapt naturally based on orientation.

</details>

<details>

<summary><strong>Movement</strong></summary>

Selects the predefined movement preset applied to the controlled lights.<br>

* **Relative Movements**
  * **Default:** Basic Pan, Tilt and Roll move.
  * **Offset:** Sets Gradual Offsets to Pan, Tilt and Roll values.
  * **Randomize:** Random movements within specified Pan, Tilt and Roll values.

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

***

* **Continuous Motion Movements**
  * **Additive:** Accumulative motion.
  * **Pendulum:** Symmetrical back and forth.
  * **Sine Wave:** Creates smooth, rhythmic oscillation using a sine wave function.

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

***

* **Targeted Movements**
  * **Merge:** Merge Lights to the Target/Controller Location.
  * **Seperate:** Push Lights outward from the Target/Controller Location.
  * **Orbit:** Lights move in an orbital pattern around the Target/controller root.

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

***

* **Sequencer Driven**

  Disables system's procedural movement. Rotation is controlled entirely by Sequencer keyframes using Movement Sequencer section.<br>

</details>

<details>

<summary><strong>Movement Behaviour</strong></summary>

Determines how the selected movement is executed over time.This setting controls whether motion is continuously evaluated, performed once and held, or repeated in cycles.

* **Continuous**

  Movement is evaluated every cycle and continuously updated over time.

  Typically used for:<br>

  <sup>Additive motion</sup>  \ <sup>Procedural or flowing movement patterns</sup>

***

* **Move & Hold**

  Movement is executed once over the defined duration, then holds its final position.

  The duration is controlled by Move In (Beats).

  Useful for:<br>

  <sup>Directed transitions</sup>  \ <sup>Positioning lights to a target state</sup>

***

* **Looping**

  Movement repeats in cycles based on the defined duration.

  Each cycle completes over Move In (Beats) and then restarts.

  Useful for:<br>

  <sup>Repeating spatial patterns</sup>  \ <sup>Rhythmic motion loops</sup>

<figure><img src="/files/0Z4ZMBHYR3YHw3MsiWsq" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>Focus Actor</strong></summary>

Specifies the target actor used as a spatial reference for certain movement presets.

{% hint style="info" %}
If no **Focus Actor** is assigned, focus dependent movements will use the **controller as Focus Target** by default.
{% endhint %}

</details>

<details>

<summary><strong>Move In (Beats)</strong></summary>

Determines how many beats it takes for the movement to complete one full cycle or reach its target position.

</details>

<details>

<summary><strong>Speed Multiplier</strong></summary>

Scales the base movement speed.

</details>

<details>

<summary><strong>Focused Target Radius</strong></summary>

Defines the distance from the Focus Actor when using radius based movement presets.

</details>

### **Light FX**

Controls dynamic visual effects applied to the light output. Includes strobing, masking (gobo), and texture-based transformations such as tiling, offset, and rotation.

<div align="left" data-with-frame="true"><figure><img src="/files/sYqMkzlHWHtYpxIRRA3j" alt=""><figcaption></figcaption></figure></div>

<details>

<summary><strong>Strobe</strong></summary>

Enables rapid intensity pulsing.

{% hint style="info" %}
High **Strobe** values can introduce visual artifacts.

Keeping the value at **5 or below** is recommended for clean results.
{% endhint %}

</details>

<details>

<summary><strong>Mask Intensity</strong></summary>

Controls the visibility of the applied mask.

</details>

<details>

<summary><strong>Mask Texture</strong></summary>

Specifies the texture used as the projection mask for the light. Defines the projected pattern shape applied to the beam.

{% hint style="info" %}
**Mask** effects use the **alpha channel** of the assigned texture.
{% endhint %}

</details>

<details>

<summary><strong>Texture Control</strong></summary>

* **Invert Mask?:** Reverses the light and dark areas of the selected mask texture.
* **Tiling:** Controls how many times the mask texture repeats across the projection surface.
* **Offset:** Adjusts the mask texture’s position within the projection space.
* **Rotation:** Controls the angular rotation of the mask texture. Rotates the projected pattern around its center axis.
* **Speed:** Animates mask texture by rotating it continuously.

</details>

### **Movement Sequencer**

Stores the reference used for Sequencer Driven movement. Holds the Level Sequence that can be used to drive custom movement for the current step.

<div align="left" data-with-frame="true"><figure><img src="/files/CZFFkWRP6c9xLGUF46Z5" alt=""><figcaption></figcaption></figure></div>

<details>

<summary><strong>Movement Sequencer</strong></summary>

Reference to the Level Sequence used for Sequencer Driven movement.This sequence defines the animation that will override preset movement for the current step.

</details>

**Check Sequencer Movement Page for more info.**

{% content-ref url="/pages/wtLOSS06M5sAvgULLypt" %}
[Sequencer Movement](/dorreal_art_docs/documentation/advanced/sequencer-movement.md)
{% endcontent-ref %}

### **Isolate Group**

Toggles visibility of other lights in the scene.&#x20;

This helps you evaluate the contribution of a single control group in complex setups.

<div align="left" data-with-frame="true"><figure><img src="/files/yfy4PWmdxE4CBTzq6ecU" alt=""><figcaption></figcaption></figure></div>

### **Auto Assigned Indicators**

These indicators are calculated automatically based on your patterns.

They provide **visual feedback**, not manual control.

<div align="left" data-with-frame="true"><figure><img src="/files/XTNPj7AyvBKPNCdECYSL" alt=""><figcaption></figcaption></figure></div>

<details>

<summary><strong>Step Start Beat</strong></summary>

Displays the beat at which the step begins within the sequence.

</details>

<details>

<summary><strong>Step Length</strong></summary>

Shows how many beats a step runs before moving to the next step or ending.

</details>

### **Advanced**

<div align="left" data-with-frame="true"><figure><img src="/files/8dc4vEUbbdm9B0JaOJ6U" alt=""><figcaption></figcaption></figure></div>

<details>

<summary><strong>Preserve Initial Look</strong></summary>

Preserve Initial Look determines how lights behave before the first active beat.

When enabled, lights keep their original scene appearance until the controller activates them for the first time.

When disabled, Dim values are applied immediately when the show begins.

</details>

<details>

<summary><strong>Isolated Lights</strong></summary>

Displays which lights are currently disabled due to isolation.

</details>

### <i class="fa-circle-chevron-right">:circle-chevron-right:</i> Learn About Rotation Meshes & Fixtures

{% content-ref url="/pages/qSRrEeXe8onF7fLJLwTA" %}
[Rotation Meshes & Fixtures](/dorreal_art_docs/documentation/advanced/rotation-meshes-and-fixtures.md)
{% endcontent-ref %}


---

# 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://dorreal-art.gitbook.io/dorreal_art_docs/documentation/documentation.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.
