> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rollingquest.kramgames.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to the Level Editor

> What the RollingQuest level editor is, how to access it, and the general workflow for creating levels.

The RollingQuest level editor is a built-in tool that lets you design and test custom levels entirely within the game. There is no need for external editors, file manipulation, or programming knowledge for basic levels — though the integrated Lua scripting system lets you go far beyond simple layouts.

## What You Can Build

* **3D block-based levels** with cubes placed on a virtual grid
* **Multi-section levels** where each section can have its own theme, music, and properties
* **Scripted gameplay** using Lua hooks, signals, and the full game API
* **Themed visuals** with dozens of visual themes and dark/light modes
* **Musical ambiance** with a library of background tracks per section
* **Complex enemy behaviors** with configurable interactions and hazards
* **Puzzle mechanics** using items, keys, doors, teleports, lava pools, and more

## Accessing the Editor

From the Main Menu, select **Level Editor**. This loads the `LevelEditor` scene — a dedicated environment with:

* A 3D viewport with a free-flying camera
* A block selector cursor that moves on a 3D grid
* Pool panels for blocks, items, enemies, balls, and decorations
* Property menus for configuring everything you place
* A script editor with integrated Lua documentation
* Save/load dialogs for managing your levels

## General Workflow

1. **Start a new level** or load an existing one
2. **Select a block template** from the Blocks Pool (**B**)
3. **Navigate** the 3D grid with **WASD/EQ** to position the selector
4. **Insert blocks** with **Space** to build your layout
5. **Select sides** with left-click and place items, enemies, balls, decorations
6. **Configure properties** with **V** — direction, script, variables, interactions
7. **Set level properties** — time, lives, theme, music, sections
8. **Test** with **T** to play your level immediately
9. **Save** with **Escape** → **Save** when you're happy

## Automatic State Preservation

The editor automatically saves your workspace between sessions. When you reopen the editor, it restores:

* Camera position and rotation
* Block selector position
* All placed blocks, items, enemies, balls, and decorations
* The current level data (if unsaved changes exist)

This means you can close and reopen the editor at any time without losing work.

<Info>
  The editor supports an unlimited number of blocks in 3D space. You can build levels of any size and complexity — though very large levels may affect runtime performance.
</Info>
