A downloadable tool

Get this tool and 3 more for $59.96 USD
View bundle
Buy Now
On Sale!
25% Off
$19.99 $14.99 USD or more

Brushfall is an editor plugin for Unreal Engine 5.8 on Windows that imports TrenchBroom and Quake .map files (Quake standard and Valve 220) as static meshes, convex collision, material instances and placed actors. Inside the download: the full C++ source (23 files, one editor module), a demo map with 57 brushes and 12 point entities, its eight textures and a WAD3 holding them, and a Readme. The licence covers any number of your own projects, commercial included, with no royalty; everything it writes from your maps is yours to ship, and the demo map, textures and WAD are free to use in your games. The plugin itself is paid and stays in the editor.

You block out the level in TrenchBroom because nothing builds a retro shooter faster. Then it has to become an Unreal level: lit, collidable, textured, and updated every time you move a wall. Brushfall is that bridge, for Unreal Engine 5.8.

What happens when you press Import

Brushes merge. World brushes become one static mesh per cluster cell instead of one actor and one asset per brush. The demo map's 57 brushes come out as 8 meshes and 658 triangles.

Collision is the brush, exactly. Every solid brush becomes one convex hull built from its own planes (56 in the demo), and line traces hit that shape. Liquids and func_illusionary do not collide; clip brushes collide and stay invisible; triggers are hidden in game with the Trigger profile and overlap events on.

Textures become materials. WAD3 (Half-Life), WAD2 (Quake, with the game's palette.lmp) or a folder of PNG, TGA, JPG or BMP images: one texture and one material instance per name, nearest-neighbour by default for the crisp look, or made from your own template material. UVs follow the editor exactly: Quake's paraxial projection and Valve 220 texture axes.

Entities become actors. Lights become point lights (light value and _color read), placed Movable so the level is lit the moment it lands, with no lighting build; player starts become Player Starts, and an editable class table maps anything else, wildcards allowed, to your own Blueprints. Every other key on an entity is written to the property of the same name, so "speed" "100" lands in your door's Speed variable; keys with no property are listed, never dropped.

Re-import changes only what changed

Move one pillar and retune one light in TrenchBroom, import again, and the demo reports 1 mesh rebuilt in place, 1 light updated, 18 untouched. Every actor you adjusted in Unreal keeps its collision preset, shadows, lightmap resolution, materials and tags. Deleted entities are removed (or kept, your choice). A teammate re-importing on a machine without your WAD keeps the textures the first import made instead of getting magenta. Every decision is made before anything is written, and a read-only file stops the import before the first change.

The import window

Tools > Brushfall: Import .map. The map from above with one colour per merged mesh, the plan in numbers, then Import. Every run writes an HTML report: brushes in, meshes out, what happened to each actor, every texture and where it came from, and every problem with its line number.

CI and the command line

UnrealEditor-Cmd.exe MyGame.uproject -run=Brushfall -Map="D:/maps/e1m1.map" -Level=/Game/Maps/E1M1 -Strict

Exit codes: 0 imported, 2 bad arguments, 4 the map could not be read (the line is named), 5 -Strict found problems, 6 a file to write is read-only (nothing changed), 7 a write failed. Every run logs one RESULT line with the counts.

What it covers

Quake standard and Valve 220 .map files (TrenchBroom, J.A.C.K., NetRadiant). Not read: Quake 3 patches and brush primitives (skipped and counted), Hammer .vmf, Doom 3. It does not compile the map: brushes become static meshes and lights become Unreal lights, and entity behaviour is not recreated (map a func_door to your own Blueprint to make it open). An editor plugin: nothing ships in your game. Verified on Unreal Engine 5.8, Windows; ships as source (the editor builds it on first open, which needs a C++ project and Visual Studio) with a demo map, its eight textures and a WAD, all free to use in your projects. Documentation: the full guide.

Tested on the shipped build by the studio's own harness: the editor's automation tests, every switch and exit code in this page run from the command line, a break-it pass (truncated maps, a read-only level, missing WADs, a WAD2 without its palette, a Quake 3 patch) and a fresh install into a project that did not exist.

From the same studio: Portcullis, door, chest, lever and trap sounds for the dungeon you just imported, and Level Surgeon, bulk edits to placed actors across every level at once.

AI disclosure: code and store images were made with AI assistance.

Purchase

Get this tool and 3 more for $59.96 USD
View bundle
Buy Now
On Sale!
25% Off
$19.99 $14.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:

brushfall-windows.zip 116 kB
Version 1.0.0

Development log

Leave a comment

Log in with itch.io to leave a comment.