Reference

Every keyboard shortcut, menu command, and term in one place. For workflow guidance, see the earlier chapters.


Keyboard shortcuts

Mode switching

Key Mode
B Add
E Subtract
P Paint
S Select
K Spawns / Metadata
T Transform (when selection exists)

Shape selection

Active when Add / Subtract / Paint is the current mode.

Key Shape
1 Brush
2 Line
3 Box
4 Circle
5 Polygon
F Fill (toggle)
G Extrude (toggle)
P Procedural Shader (in Add mode; conflicts with Paint shortcut, context-dependent)

Shape modifiers

Key Effect
H Toggle Hollow option for Box / Circle / Polygon
Q Cycle connectivity: Geometry ↔ Face (for Fill / Extrude / Face-select)
Shift (Held while drawing) Line: snap to axis · Box: square footprint
Ctrl (Held while clicking) Apply current snap mode (Edge / Center)
Alt (Held while clicking) Eyedropper — pick clicked voxel’s colour. In Select mode: deselect

View

Key Effect
V Cycle render mode (Unshaded → Lit → Normals → Material → Textured)
W Toggle wireframe overlay

Editing

Key Effect
Ctrl+Z Undo
Ctrl+Y or Ctrl+Shift+Z Redo
Ctrl+C Copy selection
Ctrl+X Cut selection
Ctrl+V Paste (enters paste mode)
Del Delete selection
Ctrl+A Select all non-air voxels
Esc Cancel current operation (in-progress shape, paste, transform, selection)
L Lock / unlock highlight points on current face
Shift+L Clear all locked faces

File

Key Effect
Ctrl+N New Tile
Ctrl+O Open Tile…
Ctrl+S Save Tile
Ctrl+Shift+S Save Tile As…

Transform (active during pending transform)

Key Effect
/ Nudge selection ±1 voxel on X
/ Nudge selection ∓1 voxel on Z
Shift+ / Shift+ Nudge selection ±1 voxel on Y
Enter Commit transform
Esc Cancel transform — voxels snap back

Camera (mouse only)

Action How
Orbit Middle-mouse drag
Pan Shift + middle-mouse drag
Zoom Scroll wheel

File menu

Command Shortcut Effect
New Tile Ctrl+N Create a blank tile at the configured size
Open Tile… Ctrl+O Load a .tres / .res tile
Save Tile Ctrl+S Save to current path; falls through to Save As if no path
Save Tile As… Ctrl+Shift+S Save with a new name
Export Tile… Open the export dialog (Full / Smallest / Selected)
Import Scene… Voxelise a .tscn / .scn and pull it into the current tile
Import Palette… Replace the current palette from a .tres file
Export Palette… Save the current palette as a .tres file

Edit menu

Command Shortcut Effect
Undo Ctrl+Z Roll back the last action
Redo Ctrl+Shift+Z or Ctrl+Y Reapply an undone action
Procedural Shader… Open the procedural shader dialog

Viewport menu

Command Shortcut Effect
Reset Camera Orbit to default angle
Focus Center Centre camera on tile midpoint
Rift Delver View Switch to fixed isometric + lit shading
Wireframe W Toggle wireframe overlay
Unshaded Flat vertex colours
Lit Per-pixel half-lambert shading (default)
Normals Face normals as RGB debug
Material Colour by base material type
Textured Custom shader materials per palette entry
Player Reference Toggle player capsule reference
Player Ref Size / Position… Configure capsule height / radius / position
Rift Delver Floor Toggle floor plane reference
Floor Depth… Adjust floor Y position
UI Scale 75% / 100% / 125% / 150% / 200% Scale all editor UI

Selection menu

Command Shortcut Effect
Copy Ctrl+C Copy selection
Cut Ctrl+X Copy + delete
Paste Ctrl+V Enter paste mode
Delete Del Remove selected voxels
Select All Ctrl+A Select all non-air
Rotate X / Y / Z 90° rotation around selection centre
Flip X / Y / Z Mirror within selection bounds
Mirror X / Y / Z Duplicate + flip; original kept
Scale 0.5× / 0.75× / 2× / 3× / 4× Resample selection
Hollow Strip interior voxels
Flood Interior Fill enclosed air
Dilate Grow selection +1 voxel
Erode Shrink selection -1 voxel

Remote menu

Command Effect
Browse Remote Assets… Open the remote browser dialog
Push Current Tile Upload active tile
Push Current Palette Upload active palette
Sync Settings… Configure server connection

Glossary

Air voxel — A voxel with ID 0. Renders as transparent and counts as empty space for collisions and connectivity checks.

Base material type — A coarse classification of substance — Stone, Bedrock, Water, Dirt, Mud, Lava, Acid, Gas, or Steam — set on each palette entry. The host game uses this for footstep sounds, particle reactions, physics behaviour, and the Material view mode.

Bedrock — Indestructible voxel material. Used for tile boundaries that should never break under in-game destruction.

Brush size — The radius of the Brush shape and the Brush selection sub-tool. Range 1–16. Larger brushes are spheres in 3D unless Flat is on, in which case they’re discs aligned to the working plane.

Chunk — Internal rendering unit. The editor groups voxels into 16-voxel chunks for performance — only chunks that change get re-meshed each frame, capped at 32 chunks per frame.

Connectivity (Geometry vs Face) — How Fill, Extrude, and Face-Select decide which voxels are “connected” to a starting point. Geometry treats any 6-connected non-air voxel as a neighbour (3D flood). Face only follows voxels along the exposed face you clicked, stopping at hidden faces.

Custom mirror plane — A user-placed mirror plane independent of the three axis-aligned planes. Drawn yellow in the viewport. Place via the Place button and click a face.

Edge type — Per-tile metadata describing what kind of connection each cardinal edge offers — Solid Wall, Open Ground, Corridor, Door, Bedrock Wall, Structure Internal. Used by the host game to decide which tiles can sit adjacent.

EyedropperAlt+click on an existing voxel to copy its palette index into the active palette slot. Available in Add / Subtract / Paint, but not Select.

Fall back to GDScript — If the native C++ extension fails to load, the editor still runs but uses pure-GDScript implementations for hot paths (procedural shape preview, greedy meshing, chunk generation). Slower but functionally identical. The status bar shows C++: GDScript fallback in orange when this happens.

Gradient selection — Multi-selecting palette entries with weights so Add and Paint pick from the set randomly. Useful for natural variation across surfaces.

Greedy meshing — Mesh-generation algorithm that merges adjacent voxel faces of the same colour into single quads. Reduces vertex count by ~10× for typical voxel scenes.

Height phase — The third click of a Box / Circle / Polygon shape, where you sweep the 2D footprint along the face normal to make it 3D.

Hollow — Modifier (H) for Box / Circle / Polygon that builds only the shell, omitting the interior.

Locked face / locked highlight — A face that stays visually marked across mode and tool changes, used as a placement reference. Toggle with L; clear all with Shift+L.

Magic select — The Face selection sub-tool (the icon). Flood-selects voxels along an exposed face from a clicked seed, stopping at hidden faces.

Material view mode — A debug render mode that colours every voxel by its base material type instead of its palette colour. Useful for verifying that “this looks like stone” voxels are actually classified as Stone.

Metadata point — A non-geometric marker placed at a voxel position. Spawn points, particle emitters, shader planes, and waypoints are all metadata points. Authored in Spawns mode.

Mode vs Tool type — The editor distinguishes between primary mode (Add / Subtract / Paint / Select / Spawns / Transform) and tool type (Shape / Fill / Extrude / Procedural / Select / Metadata). The mode decides what clicking does, the tool type decides how.

Palette — The set of available colours and material types. A .tres resource shared across multiple tiles. Editing a palette updates every tile that uses it.

Palette entry — One row in a palette: name + colour + material type. Voxels reference palette entries by index — entry 1 is the first non-air entry.

Palette index / Voxel ID — Same thing. The integer 0..N stored in each voxel cell, mapping to a palette entry. 0 is always air.

Paste mode — A floating preview of the clipboard following the cursor. Click to commit, Esc to cancel.

Procedural shader — The expression-based voxel generator. A region is defined by two clicks; an expression is evaluated at every voxel position to decide what to place. See the Advanced page.

Remote sync — Optional asset-server connection for sharing tiles and palettes across machines. Status is shown in the bottom right of the status bar.

Selection — A set of voxel positions. Drawn with a cyan wireframe overlay. Built via the Select sub-tools. Operated on by Edit menu commands and the Transform bar.

Snap mode (Off / Edge / Center) — Held-Ctrl behaviour during shape clicks: snap to grid-line midpoints (Edge) or grid-cell centres (Center). Set in the context bar.

Spawn type — A registered metadata category (Enemy Spawn, Loot Chest, Particle Effect, etc.) that defines what fields a metadata point exposes in the editor.

Sub-tool — The second-level button in the left sidebar that decides which specific shape, selection method, or spawn type is active under the current primary mode.

Symmetry plane — A mirror plane that automatically replicates each edit. Three axis-aligned planes (X / Y / Z) plus any number of custom planes.

Tile — A discrete voxel grid with a configurable size, edge metadata, biome, weight, and tags. The unit of work in the editor. Stored as a .tres file.

Tile size — The bounding dimensions of a tile in voxels. Set in the tile properties dialog. Six presets plus custom (1–512 per axis).

Transform bar — The vertical button strip on the right of the viewport. Active when a selection exists. Hosts Move / Rotate / Scale / Flip / Mirror / Hollow / Flood buttons.

View mode — A render style for the viewport: Unshaded / Lit / Normals / Material / Textured. Cycle with V. Has no effect on tile data.

Working plane — The Y level where new voxels are placed. Decided per-shape based on what was clicked: a voxel face → that face; the floor grid → Y = 0; empty space → closest grid plane perpendicular to the camera.

Wrap at Tile Edges — Box-shape option that uses posmod to wrap voxels off one side of the tile to the opposite side rather than clipping them.

Y-slice slider — The slider at the right of the status bar. Hides voxels above a chosen Y level for editing inside tall structures. View-only — does not delete.


Useful URL fragments

Direct links into specific sections — handy for cross-referencing in commit messages or issue threads:


VOXL is built with Godot 4.6 and a custom C++ GDExtension.

This site uses Just the Docs, a documentation theme for Jekyll.