Grid Placement has two object coordinate modes:
- GRID — snap to a 2D tile or 3D
GridMaplattice and use grid-keyed occupancy and mounts. - SMOOTH — place at world-space positions with footprint overlap validation and optional world-space sockets.
GRID is the default. Use SMOOTH when free positioning is part of the desired behavior.
Choose GRID when
- objects must tile or align predictably;
- cell or footprint occupancy matters to gameplay;
- 3D structures use CELL, EDGE, FACE, or CORNER mounts;
- fences, walls, and corners must share canonical grid locations;
- deterministic grid coordinates matter for rules or save data.
2D terrain painting is also grid-based, but it is a separate terrain workflow rather than SMOOTH-vs-GRID object placement.
Choose SMOOTH when
- exact cursor or world position matters more than cell alignment;
- clutter or organic props should not look grid-locked;
- 3D
GridMapcells are too coarse for the object; - object-to-object joins should use optional world-space sockets instead of GRID mount keys.
SMOOTH still validates occupancy. “Free placement” means free coordinates, not “ignore collisions or overlap.”
Switching mode
Coordinate mode belongs to the PlacementSession:
session.placement_coordinate_mode= PlacementEnums.PlacementCoordinateMode.SMOOTH
session.placement_coordinate_mode= PlacementEnums.PlacementCoordinateMode.GRIDThis is independent from interaction actions such as place, move, or demolish.
Footprints
SMOOTH entries need an explicit non-zero world footprint so overlap checks have geometry to validate.
entry.footprint_2d= Vector2(32,32)
entry.footprint_3d_world= Vector3(2,2,2)If footprint data is missing, SMOOTH placement rejects the target instead of silently allowing overlap.
GRID uses the entry's grid footprint or mount occupancy instead.
Occupancy model
| Mode | Placement occupancy |
|---|---|
| GRID | Canonical cell, footprint, EDGE, FACE, or CORNER keys in the shared placement world. |
| SMOOTH | World-space footprint occupancy in the shared placement world. |
Optional physics queries can add environment obstacle or support checks, but physics bodies do not replace plugin placement identity and occupancy.
GRID and SMOOTH objects share the same placement world, so supported cross-mode overlaps can be rejected consistently.
3D mounts vs world sockets
Do not mix the two concepts:
- GRID CELL/EDGE/FACE/CORNER — lattice-aligned occupancy and mount keys.
- SMOOTH sockets — provider-owned world-space snap points.
A placeable may support both workflows through configuration, but a GRID mount is not the same occupancy key as a SMOOTH socket.
Grid Placement 6.0 does not define a generic GRID TOP mount. A SMOOTH UP socket is still a world-space socket, not a TOP mount.
Move, remove, save, restore
Both modes participate in the normal lifecycle:
- move validates the new position before changing committed occupancy;
- cancel leaves the committed object unchanged;
- demolition removes placement and occupancy state;
- save/restore rebuilds GRID, SMOOTH, mounts, sockets, and identity together.
See Save and Load.
Quick decision table
| Need | Use |
|---|---|
| Tile/cell aligned building | GRID |
| CELL/EDGE/FACE/CORNER modular structure | GRID |
| 2D terrain brush | 2D terrain workflow (grid-based) |
| Free furniture/clutter | SMOOTH |
| Organic 3D prop | SMOOTH |
| World-space magnetic object join | SMOOTH + sockets |
| Building valid on sloped support but still upright | GRID + slope/support policy |