Skip to content

Grid Placement v6.1.0

Per-Session Unlocks

Filter the master placement catalog per session so each player only sees entries they can use.

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

Use per-session catalogs when multiple players/controllers or progression states share one game but should not have the same choices. Each PlacementSession carries its own catalog, and the selection UI populates from the active session's catalog.

  • GridPlacementBundle defines what the game can place.
  • PlacementSession.catalog defines what one session can use now.
  • Catalog filtering changes availability, not committed world occupancy or placement rules.

Setup: one catalog per session

Give each player/controller its own session with its own catalog resource. A common pattern is one master catalog duplicated per session, with entries removed or locked as progression changes:

var session:= PlacementSession.new()
session.grid_placement_bundle= preload("res://config/grid_placement_bundle.tres")
session.catalog= preload("res://catalog_player_one.tres")

host.register_session(self, session)

Give each player/controller its own session when availability differs. Sessions that build in the same world still share committed occupancy.

Locking individual entries

ScenePlacementEntry.catalog_locked marks a single entry as locked. The selection UI renders locked entries as locked instead of hiding them, so players can see what is not yet available:

entry.catalog_locked= true

catalog_locked lives on the entry resource itself. If two sessions share one catalog resource, locking affects both — use separate catalog resources when sessions need independent availability.

Terrain availability

Terrain choices resolve catalog-first through TerrainCatalogFilter: when the session's catalog has tile_entries, those are the canonical selectable terrains and the palette acts as display theme (icons + colors). When the session has no catalog, the palette entries are used as the legacy fallback.

Boundaries

Per-session catalogs do not provide network authority, ownership permissions, or separate committed worlds. See Multiplayer & Split-Screen.