Page cover

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

Game / Engine
.MAP support
Asset integration

Godot

import via FuncGodot (docs) or Qodot (docs) (discontinued)

common file formats, FGD / WAD via plugin

Unity

common file formats, FGD / WAD via some plugins

Unreal

import via HammUEr (guide)

common file formats, textures via TextUEr (guide)

Quake 1

compile to BSP via EricW-tools

built-in FGD / WAD / MDL

Quake 2

compile to BSP via q2tools-220

built-in FGD / WAL / MD2

Quake 3 (incomplete)

compile to BSP via q3map2

built-in MD3 / etc but no patch editing support yet (or ever?)

Half-Life (almost)

compile to BSP via ZHLT v3.4+ / VHLT (guide)

built-in FGD / WAD3 / MDL

Resources and Community

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

screenshot of various copy-and-pastable TrenchBroom primitive prefabs, web tool by SpaceHare

Last updated