Builder Tool
The Builder Tool (keyboard shortcut B) bakes reusable Builder Graph assets into editable 3D Geometry Objects.
Use this page for the editor workflow. Use the Builder Graph chapter for the .buildergraph language, hosts, details, cuts, materials, examples, and CLI preview workflow.
What It Does
The Builder Tool lets you:
- browse project builder assets
- create new builder assets
- tune exposed builder parameters in the lower dock sidebar
- open the Builder script editor
- click in the 3D scene to place and bake the selected builder asset immediately
Builder assets can be props, structures, wall details, and reusable assemblies. Baking a build creates ordinary editable geometry instead of leaving a procedural generator attached to the scene.
Picker Workflow
When the Builder Tool is active, the lower picker area shows the Builder Picker instead of the Tile Picker.
From the picker you can:
- select a builder asset
- edit exposed
paramvalues in the TOML sidebar - create a new asset with New
- open an asset by double-clicking it, pressing Return, or maximizing the editor
- click in the 3D scene to bake the selected asset at the clicked point
- use the normal geometry tools after baking to move, texture, cut, delete, or reshape the generated parts
Single-click selects a builder asset. The currently selected asset is used when you click in the 3D scene.
Host Targets
Each Builder Graph declares one host target. The Builder Tool uses the clicked surface position and orientation as the placement host. Wall clicks face the asset out from the wall; floor clicks place it upright on the floor.
-
host = sector;- bakes as a floor or platform-oriented asset
- useful for platforms, floor props, surface relief, recesses, and freestanding sector details
-
host = linedef;- bakes as a wall or span-oriented asset
- useful for walls, rails, fences, pilasters, and long span-based details
-
host = vertex;- bakes as a point-mounted asset
- useful for point-mounted props such as wall torches, lanterns, posts, and campfires
Direct 3D clicks do not require a preselected sector, linedef, or vertex.
Builder Script Editor
Opening a builder asset shows the Builder script editor.
The lower Builder dock contains:
- the Builder Picker
- a TOML parameter sidebar for exposed
paramvalues
The maximized Builder script editor contains:
- a text editor for the
.buildergraphscript - a live 3D preview
- syntax highlighting for Builder keywords and identifiers
The editor is intended for fast iteration:
- tune exposed template parameters
- change script dimensions when needed
- check host orientation
- inspect material slots
- inspect surface details
- verify wall side and growth direction
The lower-dock TOML sidebar is generated from param declarations in the selected script:
param radius = 0.14;
param spacing = 2.0;
param placement = attached;
param broken_chance = 0.0;
param seed = 1.0;
Editing the sidebar updates those param ... = ...; lines. Use this for tuning a selected template. Choose a different template when the structure changes, such as switching from masonry relief to a cut-out column opening.
The Builder dock has a Treasury tab for published Builder Graph packages. It downloads the indexed package list only when the Treasury tab is opened. Starter templates such as tables, wall lights, campfires, masonry, column structures, and farmhouse shells live there. Treasury items can be baked directly, or installed into the project with Install if the script should become a permanent editable project asset.
For the script language itself, see Builder Graph.
HUD Slots
Builder Graphs can expose material and item slots. Baked Geometry Objects currently preserve the source graph and material slot name as object metadata, while the geometry itself is immediately editable through the normal 3D tools.
The Builder Graph language has two slot types:
-
Material slots
- name parts such as
TOP,LEGS,COLUMN, orTRIM
- name parts such as
-
Item slots
- name anchors or surfaces for future child-asset workflows
For example, a table builder can expose:
TOPandLEGSas material slotsTOPas an item surface slot for child props placed on the tabletop
After Baking
After baking, the generated parts are selected as Geometry Objects. Use the normal 3D Object, Face, Edge, and Vertex tools to edit them.
The current bake path supports Builder Graph box and cylinder primitives. Surface-only details, cuts, child item slots, and procedural organic details remain Builder Graph concepts, but they are not baked into editable Geometry Objects yet.
Testing A Builder
Typical workflow:
- Create or select a Builder Graph asset.
- Edit the
.buildergraphscript and watch the preview. - Activate the Builder Tool.
- Click in the 3D scene where the asset should be placed.
- Edit, texture, duplicate, or reshape the selected Geometry Objects.
- Reapply after changing the script if you want a fresh baked version.
Presets And Examples
The project includes several starting points:
- Table
- Wall Torch
- Wall Lantern
- Campfire
- Surface Freestanding Columns
- Wall Columns
- Wall Masonry
- Wall Columns Masonry
- Wall Column Opening
See Builder Graph for script examples and language details.
Tips
- Use the Builder Tool for reusable placed structures and editable baked props.
- Prefer focused templates over one giant script with many unrelated controls.
- Use the parameter sidebar for tuning values such as radius, spacing, damage chance, and seed.
- Keep scripts generic and expose named slots instead of hardcoding materials.
- Use
tile_aliasin scripts to get useful previews before assigning exact material tiles. - Use
host = sectorfor floor/sector details. - Use
host = linedeffor wall-span details. - Use
host = vertexfor point-mounted objects.