Skip to content

Grid Placement v6.0

Validation: Configuration

Verify that the project, host, session, level, and rules are wired correctly.

Status
Current
Version
v6.0
Source updated
Active v6.0 guide line from Grid Placement repo
Generated on
2026-09-01

Grid Placement reports two different kinds of problems:

  • Configuration/readiness problems — the runtime is not wired correctly.
  • Placement failures — the runtime is healthy, but the requested target/action is not allowed.

Treat them differently. Disabling placement rules will not fix a missing session/context, and fixing setup warnings will not make an occupied EDGE mount valid.

Project/setup checks

After installing the addon:

  1. Enable Grid Placement in Project Settings → Plugins.
  2. Install the default input actions from the plugin Tools menu.
  3. Restart/reload the editor.
  4. Confirm the intended host/session/context/owner wiring exists.
  5. Run the smallest placement path before adding advanced systems.

GridPlacementHost.is_ready() / runtime issue reporting can help diagnose setup after the required scene/context nodes have entered the tree.

Common configuration failures:

  • no active/registered PlacementSession;
  • missing level target/object parent;
  • missing placement owner;
  • missing/incorrect targeting adapter;
  • required settings/resources not assigned;
  • wrong dimension/surface configuration.

Placement validation

Once setup is valid, each placement workflow owns its correctness checks.

Workflow Examples of placement failures
2D object outside valid map area, collision/occupancy, custom rule/cost failure
2D terrain invalid terrain target/brush cell, paint gate failure
3D GRID occupied footprint, invalid EDGE/FACE provider/mount, slope/support failure
SMOOTH missing footprint, world-space overlap, optional physics/ground/socket failure
Manipulation destination invalid/occupied or operation disabled for the object

Final validation runs again at commit. A preview that was valid earlier can become invalid if the world changes.

Placement reports

For user-facing attempts, prefer the report/result surface produced by the placement action. The UI should display its issues rather than reconstructing the validator.

Use cell/indicator-level results only when the workflow actually needs per-cell feedback, such as 2D multi-cell previews.

For 3D, preserve typed reasons such as support/slope/mount failure rather than collapsing every rejection into a generic occupancy error.

Configuration vs placement examples

Problem Type
PlacementLevelContext has no target surface Configuration
UI consumed input before the positioner received it Configuration/input
A 2D object overlaps an existing object Placement
EDGE is already occupied Placement
3D slope exceeds the configured maximum Placement
PHYSICS_REQUIRED cannot evaluate support Placement/support configuration result; fail closed
SMOOTH placeable has no footprint Entry configuration exposed as placement failure

Do not hide failures

Avoid “fixes” that make the plugin continue without enough information:

  • do not make missing required context silently succeed;
  • do not treat missing physics evidence as valid in a physics-required mode;
  • do not ignore occupancy because a visual preview looks clear;
  • do not bypass final validation from UI/game code.

Fail with an actionable message instead.

Export readiness

Before release/export, validate using the actual packaged addon/resources. External .tres resources are generally easier to inspect and more reliable across export paths than relying on fragile implicit/embedded setup.

See Web Export for browser-specific checks.