Skip to content

Grid Placement v6.3.0

Migration from PlacementOwner

The edits that remove the 6.2 node from a scene, and what still works if you keep it.

Status
Current
Version
v6.3.0
Source updated
2026-10-29
Generated on
2026-10-29

6.3. These pages document the 6.3 release, where placeable is now entry (what changed) and PlacementOwner is deprecated (migration). Still on 6.2? Your version's guides ship inside the plugin itself, under addons/grid_placement/guides/; the 6.2 URLs on this site now redirect to this series.

Development docs. This page describes the unreleased 6.3 build.

6.2 setups named the acting player with a dedicated node:

GridPlacementHost
└── PlacementOwner  (owner_root = Player)

6.3 keeps the concept and drops the ceremony. The session owns the placer, and the positioner you already have can write it. PlacementOwner is deprecated in 6.3 — it still loads, still binds owner_root, and still works in a 6.2 scene, so migrating is not urgent. It is what an editor configuration warning asks for, and the shipped demos no longer use one.

What the node was

6.2 6.3 equivalent
PlacementOwner.owner_root = Player GridPositioner2D/3D.placer_root = Player, or session.set_placer_root(Player) from code
The node itself was the actor identity the session's placer root is the identity

The migration

  1. Bind the placer. Select your GridPositioner2D or GridPositioner3D and assign placer_root to the same node owner_root pointed at. The positioner writes it to the session when it becomes ready.
  2. Delete the PlacementOwner node. Nothing else reads it once the placer is bound.
  3. Check the result. session.get_placer_root() returns the player, and session.get_runtime_issues() is empty.

For a scene built in code, skip the Inspector and bind directly:

session.set_placer_root(player)

If you keep the node

An explicit session binding wins over the legacy node. When both exist and disagree, the session value is used and a runtime issue names both nodes:

PlacementOwner 'PlacementOwner'.owner_root differs from the session placer
root 'Player'; the session binding wins. Remove the legacy PlacementOwner node
or clear one of the two.

That is the only combination worth acting on. A legacy node alone is a valid 6.2 scene; a binding alone is the 6.3 shape.

If you need no actor at all

Skip the placer assignment and delete the node. See Actor-Free Placement for when that is correct and how a rule that does need a player refuses.

Running the Setup Scene action

The 6.3 setup action no longer creates a PlacementOwner. It adds or reuses the positioner and leaves the placer unassigned, because whether you need an actor depends on the rules you enable. Running it on a scene that still has the legacy node preserves that node rather than adding a second placer.

Using this in a game?

Grid Placement v6.3.0 — full source, playable demos, commercial license

The guide above is the same setup the shipped demos use. Try the build in your browser before you buy it.