Kitsmith

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

PieceKeyNotes
WallwallStraight wall segment, grid width by wall height.
Wall with windowwall_windowWall segment with a window opening.
Wall with doorwall_doorWall segment with a doorway sized for a humanoid character.
Floor tilefloorFlat floor tile covering one or two grid cells.
RoofroofSloped roof segment.
Roof cornerroof_cornerCorner roof segment that joins two roof runs.
StairsstairsStair run rising one wall height.
PillarpillarVertical post that sits on a grid corner.
Outer cornercornerOuter 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_B

Sorting by name then groups pieces by type, and width is visible without opening the file.

Unity

  1. Unity uses meters and +Y up, so no scale changes are needed. Keep the model import Scale Factor at 1.
  2. 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.
  3. Enable grid snapping (the magnet icon) and drag pieces; the corner pivot lands on grid lines.
  4. Set the rotation increment to 90 for walls and corners.
  5. 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.

  1. 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.
  2. 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).
  3. Set rotation snap to 90 degrees.
  4. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.