callmemhz GitHub avatar

godot-map-builder

callmemhz

A brush-based level editor plugin for Godot 4 that lets you create and edit 3D maps directly in the editor viewport, inspired by TrenchBroom.

Stars

33

7-day growth

No data

Forks

2

Open issues

0

License

MIT

Last updated

2026-07-16

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It brings the classic Quake-era brush workflow into Godot, eliminating the export/import cycle of external tools, and includes CSG operations, per-face texturing, .map import, and an optional retro rendering kit.

Who it is for

  • Godot game developers making 3D games
  • Level designers who prefer brush-based modeling
  • Indie developers wanting integrated level editing
  • Hobbyists experimenting with retro rendering effects

Use cases

  • Rapidly blocking out and iterating on level geometry inside the Godot editor
  • Creating modular environments with CSG merge/subtract and primitives
  • Importing and converting TrenchBroom .map files into optimized Godot scenes
  • Applying a PSX-era retro look using the optional RetroViewport and texture downsampling

Strengths

  • Fully integrated into Godot's editor with undo support and grid snapping
  • Supports advanced brush operations like face extrude, carve, clip, and hollow
  • Includes per-face texture painting with Valve 220 UVs and automatic PBR detection
  • Offers a separate retro rendering module with dithering, quantization, and LUT presets

Considerations

  • Requires Godot 4.7+ and is not backward compatible with earlier versions
  • Early-stage release (v0.1.0) may have missing features or bugs
  • Retro rendering module is optional and may not fit all art styles

README quick start

🧱 Map Builder

TrenchBroom-style brush level editor — right inside the Godot 4 viewport.

Block out and texture whole levels without leaving the engine: draw convex brushes on a grid, push/pull faces, carve with clips and CSG subtract, paint textures per face — then bake everything into one optimized scene ready for gameplay.

Why

Godot's CSG nodes are great for prototyping but slow to edit at level scale, and external tools like TrenchBroom mean a constant export/import round-trip. Map Builder brings the classic Quake-era brush workflow — solid convex brushes, grid snapping, face push/pull — into the Godot editor itself, so the map you sketch is already a Godot scene.

✨ Features

🔨 Brush editing

  • Convex brushes as first-class nodes — every brush is a set of planes; vertices and edges are derived, so geometry is always a valid solid
  • Box tool — drag on the ground (or on top of any brush) to draw a new box
  • Face push/pullShift+drag a face along its normal, grid-snapped; coplanar faces across the selection move together
  • Face extrude & carveCtrl+Shift+drag a face outward to extrude a new brush, or inward to clip-split the slab off the source (with a see-through ghost preview)
  • Vertex & edge editing — drag corners or edges with grid snapping (Alt = vertical); the brush re-solves as a convex hull
  • Clip tool — draw a line across a face to slice every selected brush along that plane
  • CSGMerge selected brushes into their convex hull; Subtract to carve windows/doorways
  • Hollow — turn a brush into walls of a given thickness

🏗️ Level assembly

  • Primitives — box, wedge, cylinder, arch, ring (curved corridor), parametric stairs (steps / rise / run / width)
  • Arc tool — revolve any face around an anchor to build arches and bent corridors, one brush per step
  • GroupingCtrl+G groups brushes; double-click to enter a group and edit in isolation, Esc to leave
  • Sweep selectCtrl+drag across brushes to select (or deselect) them in one stroke
  • NudgeCtrl+arrows / Ctrl+PgUp/PgDn move the selection one grid step
  • Everything is undoable — every tool commits through the editor's undo system

🎨 Texturing

  • **Material dock

Description

TrenchBroom-style brush level editor inside the Godot 4 viewport - draw convex brushes, push/pull faces, clip, texture, and bake to an optimized scene.

Related repositories

Similar projects matched by category, topics, and programming language.

baptistefalvet
baptistefalvet GitHub avatar

NeedForTokens

A third-person arcade racing game built in Three.js with all assets procedurally generated at runtime, targeting the visual quality of modern Need for Speed titles.

JavaScript
5
VitSoonYoung
VitSoonYoung GitHub avatar

SpriteStack2D

SpriteStack2D is a Godot 4 addon that renders pseudo-3D sprite stacks from a single 2x2 sheet of orthographic pixel-art views.

GDScript
212