Modular grid conventions
Building pieces are not generated freehand. A procedural Blender generator builds each piece to exact dimensions on your project grid, then applies a tileable PBR material from the texture pipeline. That is what makes a wall from today snap cleanly against a wall from last week.
Units and axes
- Units: meters. 1 unit in the file is 1 m.
- Up axis: +Y up, the glTF convention. Engine importers convert this for you.
- Grid unit: set in the kit spec. The default is 2 m.
- Wall height: set in the kit spec. The default is 3 m.
- Width: each piece is 1 or 2 grid units wide (
widthUnits). With the defaults a 1u wall is 2 m wide and a 2u wall is 4 m wide.
Pivots
- Building pieces: pivot at the corner, on the floor plane. Positions snap straight to grid intersections, and rotating by 90 degrees around the pivot keeps a piece on the grid.
- Props, equipment and characters: pivot at bottom center, so they sit on the floor wherever you drop them.
Piece types
| Piece | Key | Notes |
|---|---|---|
| Wall | wall | Straight wall segment, grid width by wall height. |
| Wall with window | wall_window | Wall segment with a window opening. |
| Wall with door | wall_door | Wall segment with a doorway sized for a humanoid character. |
| Floor tile | floor | Flat floor tile covering one or two grid cells. |
| Roof | roof | Sloped roof segment. |
| Roof corner | roof_corner | Corner roof segment that joins two roof runs. |
| Stairs | stairs | Stair run rising one wall height. |
| Pillar | pillar | Vertical post that sits on a grid corner. |
| Outer corner | corner | Outer corner piece that closes the joint where two walls meet. |
Generate each piece type once per material, then add 2u variants where long runs are common. A minimal house kit is wall, wall_door, wall_window, corner, floor, roof and roof_corner in one material: seven jobs, 28 credits.
Naming convention
A predictable naming pattern keeps a growing kit searchable. We suggest this one, and it works well if you mix in your own pieces:
KS_<Piece>_<Width>u_<Material>[_<Variant>]
KS_Wall_2u_Stone
KS_WallDoor_1u_Stone
KS_Floor_1u_Planks
KS_RoofCorner_1u_Thatch
KS_Pillar_1u_Stone_BSorting by name then groups pieces by type, and width is visible without opening the file.
Unity
- Unity uses meters and +Y up, so no scale changes are needed. Keep the model import Scale Factor at 1.
- Open the Grid and Snap settings in the Scene view toolbar. Set the grid size to your grid unit (for example 2 on X and Z) and the move increment to the same value.
- Enable grid snapping (the magnet icon) and drag pieces; the corner pivot lands on grid lines.
- Set the rotation increment to 90 for walls and corners.
- For vertical stacking, use your wall height as the Y increment, or hold Ctrl while dragging with a matching increment.
Unreal Engine
Unreal is Z-up and uses centimeters: 1 Unreal unit is 1 cm, so a 2 m grid unit is 200 units and a 3 m wall is 300 units.
- Import FBX or glTF at the default scale of 1.0. Both importers convert meters to centimeters and Y-up to Z-up. If pieces arrive 100 times too small or lying on their side, check that no extra scale or rotation was applied on import.
- In the viewport toolbar, enable grid snapping and set the location snap to 200 (or add a custom snap value in Editor Preferences if your grid unit is not in the list).
- Set rotation snap to 90 degrees.
- Use Z snapping at your wall height in centimeters for upper floors.
Godot 4
Godot uses meters and +Y up, the same as the exported files.
- For free placement, enable Use Snap in the 3D viewport and open Configure Snap. Set Translate Snap to your grid unit and Rotate Snap to 90.
- For a
GridMap, build a MeshLibrary from the building pieces (see Engine import). Set the GridMap cell size to your grid unit on X and Z and your wall height on Y. - Because building pieces pivot at the corner, turn off Cell Center X, Cell Center Y and Cell Center Z on the GridMap. Otherwise pieces are offset by half a cell.
- 2u pieces span two cells. Place them on every other cell, or keep them in a separate GridMap.
Common problems
- Gaps between pieces: the pieces were generated with different grid units. Regenerate them under the current spec; spec changes only apply to new jobs.
- Pieces offset by half a cell: your tool expects center pivots. See the GridMap note above.
- Texture seams at joints: use the same material name for neighbouring pieces so they share the tileable texture.