TrenchBroom
info and resources for this modern brush-based level editor tool
Last updated
info and resources for this modern brush-based level editor tool
Last updated
(or TrenchBroom 2, or TB) is a free open-source cross-platform 3D level editor with modernized Quake-style brush-based construction and ongoing updates / support. It is widely used across several modding communities as well as commercial projects.
We recommend TB as a decent general purpose 3D level editor tool that potentially works with multiple game engines on Windows, macOS, and Linux.
TB departs from previous Quake-era level editors to emphasize 3D construction in a single view pane.
Is TrenchBroom a good choice for your game engine? Two aspects to consider:
TB's main file format is a Valve variant ("version 220") of text-based Quake .MAP format.
Your engine needs some sort of compile tool or plugin to process .MAP files.
Some plugins can import compiled .BSP files instead.
Worst case scenario -- export brushes to .OBJ but lose all entity data
Asset integration: can TB hook into your game assets and display them?
Godot
common file formats, FGD / WAD via plugin
Unity
common file formats, FGD / WAD via some plugins
Unreal
Quake 1
built-in FGD / WAD / MDL
Quake 2
built-in FGD / WAL / MD2
built-in MD3 / etc but no patch editing support yet (or ever?)
built-in FGD / WAD3 / MDL
Clipping planes can be 3D, and all brushes are automatically validated for convexity. TB is also great at resizing many brushes at once, with SketchUp-like handling of shared planes and contextual extrusion. For its construction capabilities alone, we recommend TB for building , but it also allows surprisingly detailed modeling and texturing when .
TB currently has only basic tools for levels. It parses a .FGD file for entity definitions, and users can create and edit keyvalues to script gameplay, with some limited autocomplete and colorpicker support. This is suitable for simple Quake-style scripting with entity chains, but lacks the functionality of something like Hammer's extensive entity I/O system.
Outside of Quake modding, most users do their level scripting in the Unity / Unreal / Godot editor itself, and make minimal / no use of TB's entity support. But if you really want to implement custom entity support for your game, you must file and create your own .
.MAP / .BSP support: can your engine import or compile or .BSP files?
To place enemies, doors, or other scriptable game objects, TB uses with special extensions.
TB uses to read a wide variety of common file formats, such as PNG, JPG, FBX, OBJ, etc.
import via () or ()
import via , , , or
import via ()
common file formats, textures via TextUEr ()
compile BSP via
compile BSP via
Quake 3 ()
compile BSP via
Half-Life ()
compile BSP via / VHLT ()
Doom 3 ()
see
needs custom
To build a .MAP importer for other engines, see for info and example code.
If mapping for Quake, ask for help at
If using Qodot, ask for help at or ask at
For specific help with TrenchBroom itself, visit the
see for a full list of game engines and recommended level editors
by David "dumptruck_ds" Spell assumes you're mapping for Quake but the general setup process is similar for mapping for any engine.
by Benoit "Bal" Stordeur is a crucial must-read for intermediate / advanced Trenchbroom construction techniques. Although Stordeur is working in Quake, his advice is applicable to using Trenchbroom for any game.
by SpaceHare lets you easily copy and paste common shapes like cylinders, arches, and staircase geometry from a webpage into the editor.