Skip to content

Grid Placement v6.1.0

Choosing Terrain vs Objects

Choose whether a placement workflow should paint terrain or place scene objects.

Status
Current
Version
v6.1.0
Source updated
2026-09-24
Generated on
2026-09-23

Grid Placement can place two very different kinds of content:

  • 2D terrain painting changes the cells of a TileMapLayer — think of it as painting the ground itself.
  • Scene-object placement creates individual node instances in 2D or 3D — think chairs, walls, trees.

3D GridMap terrain painting is supported: paint/erase plus LINE/rectangle brushes with game-authored rule evaluation. See 3D Terrain Painting. In 3D, use scene-object placement for discrete objects.

Which one do I need?

You need... Use
Connected 2D ground/road/floor/wall visuals that live in a TileSet 2D terrain
An object with its own script/state/selection/health/inventory Scene object
To move/rotate/flip/demolish one placed instance at a time Scene object
To paint 2D regions (LINE/rectangle/flood) 2D terrain
A line of repeated but independent props Scene objects with LINE enabled
3D building/fence/window/prop placement Scene object
3D GRID CELL/EDGE/FACE/CORNER/TOP/socket structures 3D scene object
An object anywhere in 3D space, not on a grid SMOOTH scene object

Quick rule of thumb: if you could pick it up and move it in real life, it's a scene object. If it's just the shape of the ground, it's terrain.

2D terrain

Terrain painting fits when the cell pattern matters more than individual objects.

Typical examples:

  • roads and connected ground;
  • floor/wall/hedge patterns drawn through a TileSet;
  • large areas of repeated static visuals/collision.

Supported terrain brushes:

  • SINGLE
  • LINE
  • RECTANGLE_FILL
  • RECTANGLE_OUTLINE
  • FLOOD_FILL

While you're previewing, the real TileMapLayer isn't touched — only commit paints it.

Game-specific terrain behavior

A terrain cell is not a scene object — it has no script, health, or Manipulatable component of its own. If your game needs durability, ownership, resource costs, or interaction per cell, keep that game state in your own data and use the terrain paint/remove hooks to keep it in sync.

Scene objects

Use a ScenePlacementEntry when each placement needs to be its own thing.

Typical examples:

  • buildings and foundations;
  • crates, lamps, furniture;
  • interactive doors/gates;
  • NPCs, spawners, interactables;
  • 3D floors, walls, fences, windows, props.

Scene objects can take part in object validation, manipulation, stable placement identity, mounts/sockets, refunds, and saving.

Fences: choose by behavior and dimension

“Fence” is not automatically terrain or object placement.

2D

Use terrain when the fence is mostly a connected TileSet visual with static collision. Use scene objects when each segment needs its own script/state/manipulation, or when object LINE placement fits better.

3D

Use scene objects. GRID EDGE placement is the supported 6.0 way to build cell-aligned fence/wall segments; SMOOTH world sockets handle free-positioned joins.

Terrain rules vs object rules

  • Object placement checks the object validation/rules pipeline (placeable/profile data).
  • Terrain painting checks the terrain validation/paint gates/hooks.

These are two separate pipelines — don't copy a gameplay rule from one into the other. If both need the same restriction, put the shared game data in a reusable provider/bridge they can both read.

Save/load

  • Scene objects are saved through stable placement identity and the placement-world persistence flow.
  • 2D terrain is saved through the terrain/tile persistence that fits your TileMapLayer and game save format.

Your game owns the complete save-file/profile/cloud-save schema — the plugin only contributes its part.