Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
A Godot 4 C# plugin for building structures directly in the 3D scene editor.Features:- Floors: draw rectangles of tiles by click-and-drag (single MeshInstance3D per room)- Walls: click two points to place a wall; L/T/X intersections resolved automatically with mitre joints- Doors & Windows: click any wall to carve a real cutout in geometry and collision- Stairs: two-click placement, step height calculated automatically per floor- Roofs: flat, shed, gable, and hip types with configurable pitch- Fences / Railings: modular, axis-aligned, driven by a PackedScene asset- Multiple floors: per-floor visibility in the editor- Bake: exports the building as an optimised .tscn with LOD0, LOD1, Occluder, and Collision
Home Builder
A Godot 4 plugin (C#) for building structures directly in the scene editor by clicking in the 3D viewport.
Requirements & Installation
Requires Godot 4.x with .NET (Mono) support. To install the plugin, copy the addons folder from this repository into your project's addons folder. Then enable it under Project β Project Settings β Plugins.
Workflow
- Open or create a 3D scene.
- Activate a build mode in the Home Builder panel (bottom of the editor).
- Build the structure floor by floor using the floor selector.
- Once the building is ready, use Bake mode to export it as an optimised scene.
- Instance the baked scene in your level.
Build Modes
Floors
Hold and drag in the viewport to fill a rectangle of tiles. A single click places a 1Γ1 m tile; dragging covers the whole room at once (a single MeshInstance3D for the entire rectangle, not one tile per cell). Snapping is to the 1 m grid. Configurable:
- Thickness of the slab
- Material for the top face, bottom face, and sides
Walls
- First click: wall start point.
- Second click: wall end point. The wall automatically aligns to the centre of floor tiles.
- Intersections between walls (L, T, or X corners) are resolved automatically with mitre joints β no visible gaps at any angle.
- Walls support doors and windows (see below).
- Configurable: wall height and thickness, and materials for face A, face B, and edges.
Doors & Windows
With Doors or Windows mode active, click on an existing wall to open a cutout. The gap is carved into both the wall geometry and its collision shape.
- Doors: configurable width and height.
- Windows: configurable width, height, and sill height.
Stairs
- First click: staircase base.
- Second click: direction and length. The staircase connects the current floor to the one above.
- Configurable: number of steps, width, and depth (tread) of each step.
- Step height is calculated automatically as
wall height / number of steps, so the staircase always meets the upper floor exactly. More steps make them shorter; fewer steps make them taller.
Roofs
Hold and drag in the viewport to define the roof footprint on the active floor. Snapping is to half a tile (0.5 m) so the roof can align with wall outer faces, not just cell centres. The footprint is automatically extended outward by half the wall thickness on each side, so the eave covers the exterior face of perimeter walls. Available types:
- Flat
- Shed β configurable: direction and pitch
- Gable β configurable: direction and pitch
- Hip β configurable: pitch. The ridge is automatically oriented along the longest side of the rectangle.
Fences / Railings
- First click: starting corner of the segment.
- Second click: ending corner. Modules are instantiated along the dominant axis (X or Z).
- Requires assigning a
PackedSceneas the fence asset in the panel. - Configurable: module size. The asset is scaled in X to that length, so any native width works as long as the pivot is at the centre of the base and the asset faces +X.
Limitation: fences only support axis-aligned placement (X or Z). Diagonal placement is not supported.
Multiple Floors
The floor selector (β² / βΌ next to the floor number) controls which level new elements are placed on. When moving up a floor, lower floors are automatically hidden in the editor to keep the workspace clean.
Floor height equals the configured wall height.
Bake (Optimised Export)
Bake mode generates a .tscn scene ready to use in a level. Open the bake panel and configure:
| Parameter | Description |
|---|---|
| Output folder | res:// path where the .tscn is saved |
| LOD0 end distance | Maximum distance (metres) at which full geometry is shown |
| LOD1 start distance | Distance from which the simplified version is shown |
| Fade | Transition mode between LOD0 and LOD1: No fade or Self (see below) |
LOD Distances
Values of 80 m or above are recommended so the LOD switch happens when the building is already small on screen and the player cannot notice the detail difference. Short distances make the switch clearly visible.
If LOD0 end and LOD1 start are close together (e.g. 80 m and 81 m), the transition window is minimal and the effect is nearly instantaneous.
Fade Modes
- No fade β the switch between LOD0 and LOD1 is instantaneous. No visual artefacts. Recommended when distance values are high enough for the change to go unnoticed.
- Self β a smooth transition is applied between both LODs. May produce visual artefacts if the building has interior geometry (stairs, interior elements) that becomes visible through the walls during the transition, since they turn semi-transparent. It may also interact with transparent materials in the scene (water, glass). Use it for predominantly exterior buildings or when the transition occurs at a sufficient distance.
Contents of the Baked Scene
StaticBody3D (building name)
βββ LOD0 β full geometry, one surface per original material
βββ LOD1 β simplified geometry, one draw call per material
βββ Occluder β OccluderInstance3D for occlusion culling
βββ Collision β ConcavePolygonShape3D (walls, floor, roof)
βββ Staircase_N β ConvexPolygonShape3D per staircase
LOD0 / LOD1 uses Godot's native VisibilityRange system. At distance, stairs, fences, and floors are removed from LOD1 to reduce polygon count, and walls are simplified to flat faces without openings.
Occluder allows Godot to cull objects hidden behind the building without rendering them. To enable it, activate it in your project:
Project Settings β Rendering β Occlusion Culling β Use Occlusion Culling = ONTo visualise occluders in the editor:
Debug β Visible Occlusion Culling Debug
Collision is a single ConcavePolygonShape3D built from the visual geometry, so door and window openings are real collision cutouts. Stairs are kept as independent ConvexPolygonShape3D shapes so CharacterBody3D can climb them correctly via move_and_slide.
Materials
Each mode exposes material selectors in the panel. Materials are assigned before placing elements; already-placed elements are not affected when the active material changes. Materials are preserved in the bake and simplified in LOD1 (normal maps, AO, and roughness maps are removed to reduce cost at distance).
Sample Images
Interiors
LOD0 and LOD1
Occlusion Culling
A Godot 4 C# plugin for building structures directly in the 3D scene editor.
Features:
- Floors: draw rectangles of tiles by click-and-drag (single MeshInstance3D per room)
- Walls: click two points to place a wall; L/T/X intersections resolved automatically with mitre joints
- Doors & Windows: click any wall to carve a real cutout in geometry and collision
- Stairs: two-click placement, step height calculated automatically per floor
- Roofs: flat, shed, gable, and hip types with configurable pitch
- Fences / Railings: modular, axis-aligned, driven by a PackedScene asset
- Multiple floors: per-floor visibility in the editor
- Bake: exports the building as an optimised .tscn with LOD0, LOD1, Occluder, and Collision
Reviews
Quick Information
A Godot 4 C# plugin for building structures directly in the 3D scene editor.Features:- Floors: draw rectangles of tiles by click-and-drag (single MeshInstance3D per room)- Walls: click two points to place a wall; L/T/X intersections resolved automatically with mitre joints- Doors & Windows: click any wall to carve a real cutout in geometry and collision- Stairs: two-click placement, step height calculated automatically per floor- Roofs: flat, shed, gable, and hip types with configurable pitch- Fences / Railings: modular, axis-aligned, driven by a PackedScene asset- Multiple floors: per-floor visibility in the editor- Bake: exports the building as an optimised .tscn with LOD0, LOD1, Occluder, and Collision