TrenchBroom
info and resources for this modern brush-based level editor tool
TrenchBroom (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.
Workflow
TB departs from previous Quake-era level editors to emphasize 3D construction in a single view pane.
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 blockouts, but it also allows surprisingly detailed modeling and texturing when art passing.


gallery of various TB construction and texturing demos, from "Bal's Quake Mapping Tips & Tricks" by Benoit "Bal" Stordeur


Is TrenchBroom good for my non-Quake project?
If it's not a Quake mod, there are several aspects to consider:
.MAP / .BSP support: can your engine import or compile .MAP files or .BSP files?
TB's main file format is text-based Quake .MAP, Valve variant ("version 220")
If it's not a Quake engine, you'll need a plugin to import .MAPs or compiled .BSPs
Worst case scenario: export brushes to .OBJ but lose all entity data
Asset integration: can TB hook into your game assets?
TB can read common file formats like PNG, JPG, FBX, OBJ, etc
Some plugins can sync to Quake formats, e.g. texture bundles like .WAD
Scripting: how complex are your scripting needs?
To place game objects or do scripting, TB gets entity definitions in .FGD files.
TB is OK for simple Quake-style scripting: placing objects, linking buttons to doors, or plotting simple paths... but it's a bit painful to script cutscenes or choreograph complex sequences.
Or maybe use TB only for 3D construction and markup, and do all your scripting natively in whatever game engine you're using.
TrenchBroom engine compatibility / pipelines
Godot
common file formats, FGD / WAD via plugin
Unity
import via Tremble, Qunity, Scopa, or Unity3D-BSP-Importer
common file formats, FGD / WAD via some plugins
Quake 3 (incomplete)
compile to BSP via q3map2
built-in MD3 / etc but no patch editing support yet (or ever?)
If mapping for Quake, ask for help at Quake Mapping Discord
If using Godot, ask for help at FuncGodot Discord
To build a .MAP file importer for any engine, see MAP file format for info and example code
For non-Quake engines, you must create a TrenchBroom game configuration. See the GitHub repo
/resources/games/folder to study example configs.Be advised, TB probably isn't the best tool for Quake 3 or Doom 3 engines. See Tools for a full list of game engines and recommended level editors.
Resources and Community
Intro to TrenchBroom quickstart tutorial videos by David "dumptruck_ds" Spell assumes you're mapping for Quake but the general setup process is similar for mapping for any engine.
Bal's Quake Mapping Tips & Tricks (2022) 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.
TrenchBroom utility tools
(Windows) OBJ2MAP by Warren Marshall / Aleksander Marhall converts .OBJ 3D models to .MAP brushes. Be warned the tool is quite old, but it's useful for complex shapes, terrain, or reference geo.
NOTE: If you're using a modern game engine, just import the .OBJ directly, no need to use this tool. This utility is more for Quake / Half-Life mappers.
(web) TrenchBroom Prefabs by SpaceHare lets you copy and paste cylinders, arches, and staircase primitives into the editor.
(web) func_terrain by Jackson Palmer lets you generate "triangle soup" style brush terrain with noise patterns or paint your own heightmap

Last updated
