Mapping Guide
TrenchBroom
TrenchBroom is the recommended level editor for Quetoo. Quetoo ships with full TrenchBroom support: game configuration, entity definitions, and texture collections are all included, so you can open TrenchBroom, select Quetoo as the game, and start building immediately — no manual setup required.

Author your brushwork and place entities in TrenchBroom, then compile with quemap:
quemap -bsp maps/mymap.map
Quemap accepts “Quake paths”, so maps/mymap.map will work from any host directory.
Load your map in Quetoo from the console (`):
map mymap
Package a finished map and its custom assets for release:
quemap -zip maps/mymap.bsp
The In-Game Editor
Quetoo includes a built-in live editor — something not found in any other Quake-derived engine. It lets you place and modify entities and tweak material properties in real time, with instant visual feedback, without ever leaving the game.
To open the editor, set the editor cvar from the console:
editor 1
The editor panel appears on the right side of the screen. It has two tabs: Entities and Materials.
Entity Editor

The entity editor shows all key/value pairs for the entity you are currently looking at. When you open the editor, the entity closest to your crosshair is automatically selected.
Selecting entities
Look at any entity and open the editor — the nearest entity on your line of sight is auto-selected. For lights and other point entities, look directly at the gizmo (the colored bounding box drawn in the world).
Moving entities
With the entity panel open and an entity selected, use the standard movement keys to nudge it in world space:
| Key | Action |
|---|---|
W / ↑ | Move forward |
S / ↓ | Move backward |
A / ← | Move left |
D / → | Move right |
Q / PgUp | Move up |
E / PgDn | Move down |
Movement is snapped to the grid size, which you can change with keys 1–8 (matching Radiant convention: key 1 = 1 unit, 2 = 2, 3 = 4, … 8 = 128). The default grid size is 16 units.
Creating and deleting entities
- Create — the Create Entity button spawns a new
lightentity at your crosshair position, snapped to the grid - Delete — the Delete Entity button removes the selected entity (disabled for
worldspawn)
Copy / Cut / Paste
| Shortcut | Action |
|---|---|
Ctrl+C | Copy selected entity to clipboard |
Ctrl+X | Cut selected entity |
Ctrl+V | Paste entity at crosshair position |
Editing key/value pairs
All key/value pairs for the selected entity are shown as editable fields. Click any value field, type a new value, and press Enter — the change is applied to the live server immediately.
For light entities that belong to a team, the shared team properties appear in a second panel below, letting you edit all lights in the team at once.
Saving
Click Save (or run save_editor_map from the console) to write the modified entity data back to the .map file on disk. Material changes are saved at the same time via r_save_materials.

Material Editor

The Materials tab lets you tune surface properties of any material in the map — in real time, with instant visual feedback.
Selecting a material
Look at any surface or model and switch to the Materials tab. The material under your crosshair is loaded automatically.
Editable properties
| Property | Description |
|---|---|
| Roughness | Controls the spread of specular highlights. Higher = more matte. |
| Hardness | Sharpness of the specular lobe. |
| Specularity | Overall intensity of specular reflections. |
| Parallax | Depth of parallax occlusion mapping. |
| Shadow | Controls how much this surface receives baked shadows. |
| Alpha Test | Threshold for alpha-tested (cutout) transparency. |
All changes are reflected immediately in the renderer. The material is marked dirty and written to its .mat file when you click Save.
Key Entities
| Classname | Description |
|---|---|
worldspawn | Root entity. All solid brushes belong here. |
info_player_deathmatch | Deathmatch spawn point. Place multiple. |
info_player_team1 / info_player_team2 | Red / blue team spawns |
item_flag_team1 / item_flag_team2 | CTF flags |
light | Point light. Keys: radius, color, intensity, style, team |
light_sun | Directional sunlight for outdoor areas |
func_door | Moving door brush entity |
func_plat | Rising platform |
func_rotating | Continuously rotating brush |
trigger_teleport | Teleporter trigger volume |
Items use standard Quake II classnames: item_health, weapon_railgun, ammo_slugs, item_armor_body, etc.
Further Reading
- TrenchBroom documentation
- Quetoo Discord
#mappingchannel