This page is the quick reference for what Grid Placement 6.0 places and paints.
Surface support
| Surface | 6.0 support | Notes |
|---|---|---|
2D TileMapLayer objects |
Supported | Preview, validation, commit, manipulation, demolition, and optional object LINE placement. |
2D TileMapLayer terrain |
Supported | SINGLE, LINE, RECTANGLE_FILL, RECTANGLE_OUTLINE, and FLOOD_FILL. |
| Isometric 2D | Supported | Uses the same TileMapLayer placement model; verify project-specific tile transforms and visuals. |
| Hex 2D | Supported advanced workflow | Shipped demo covers multi-cell terrain brushes on the included hex setup. |
3D GridMap GRID objects |
Supported | CELL, EDGE, FACE/socket, footprints, yaw, validation, manipulation, persistence, and configurable slope/support. |
| 3D SMOOTH objects | Supported | Free world-space placement with occupancy/validation and optional world-space sockets. |
3D GridMap terrain editing |
Not supported | 2D terrain brush claims do not apply to 3D. |
| Terrain-conforming structural pitch/roll | Not supported by default | GRID structures remain world-up; slope/support controls whether placement is allowed. |
Shipped demos
Grid Placement 6.0 ships five reference demos:
| Demo | Primary purpose |
|---|---|
| Top-down 2D | Basic object placement, terrain painting, manipulation, and persistence. |
| Isometric 2D | Isometric targeting and placement presentation. |
| Platformer 2D | Placement/validation in a side-view collision-driven scene. |
| Hex 2D | Advanced terrain brush behavior on a hex layout. |
| 3D | GRID/SMOOTH object placement, CELL/EDGE/FACE/socket structures, slope/support, and persistence. |
Demos show supported workflows; they are not required scene architecture for your game.
2D brush modes
| Mode | Terrain painting | Object placement | Commit behavior |
|---|---|---|---|
SINGLE |
Supported | Supported | Preview one target; confirm commits one terrain cell/object. |
LINE |
Supported | Opt-in by profile/category | Drag start→end; final validation runs before commit. |
RECTANGLE_FILL |
Supported | Not a public object mode | Drag two corners; commit fills the generated terrain region. |
RECTANGLE_OUTLINE |
Supported | Not a public object mode | Drag two corners; commit paints the perimeter. |
FLOOD_FILL |
Supported | Not an object mode | Anchor/preview the region, then confirm to commit. |
Commit rules
- Preview never mutates the real
TileMapLayer. - Final validation runs at commit time; the world may have changed since preview.
- Cancel clears pending brush/placement state without committing it.
- Object
LINEplacement is explicit capability, not something everyScenePlacementEntryautomatically supports.
Terrain brush cell cap
PlacementSettings.max_terrain_brush_cells limits the generated cells for one terrain brush action.
| Setting | Value |
|---|---|
| Default | 4096 cells |
| Inspector range | 1..16384 |
| Runtime hard ceiling | 16384 cells |
| Applies to | LINE, RECTANGLE_FILL, RECTANGLE_OUTLINE, FLOOD_FILL |
If a large drag/flood operation stops earlier than expected, check this setting before debugging terrain rules.
3D support rules
3D is object placement, not terrain editing.
GRID placement can validate the support under a footprint using GridMap surface information and, when configured, physics-backed sampling. The final support policy can include maximum slope, support coverage, center/edge requirements, and per-entry overrides. Structural pieces remain world-up even when the supporting terrain is sloped.
SMOOTH placement uses world-space transforms rather than CELL/EDGE/FACE grid keys. Optional world-space sockets can provide object-to-object joins without turning them into GRID mounts.
See 3D Object Placement, 3D Surface & Slope Support, and Grid vs Smooth Placement.
First integration path
- Install/enable the addon and default input actions.
- Place one object successfully.
- For 2D terrain, add one terrain entry and prove
SINGLEbefore multi-cell brushes. - Add manipulation/persistence/custom rules after the core path works.
- For 3D, prove GRID placement before adding mounts, SMOOTH sockets, or custom support policy.