Skip to main content
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 EscapeSave 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.
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.