Skip to content

Class

PlacementServiceGroup

Generated GDScript class reference for GridPlacement.PlacementServiceGroup.

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.

Runtime service composition derived from GridPlacementSettings. Holds nullable domain services — the factory reads the game's settings to decide which services to instantiate. A terrain-only game omits manipulation_service; a platformer omits terrain_service. The group is RefCounted (not a Resource) because service composition is a runtime decision derived from existing settings, not editor-authored data. The settings already express domain decisions (e.g. settings.manipulation == null means no manipulation). Lifecycle: var group := PlacementServiceGroupFactory.create_from_bundle(session.grid_placement_bundle, session) host.configure(session, group) # ... runtime ... group.dispose()

Source: addons/grid_placement/services/placement_service_group.gd

Syntax

class PlacementServiceGroup extends RefCounted

Members

NameKindSummary
terrain_serviceProperty6.0.0-211: terrain slot typed by capability contract. Concrete instance is 2D or 3D depending on factory injection.
manipulation_serviceProperty6.0.0-211: manipulation slot typed by capability contract.
grid_targeting_serviceProperty6.0.0-211: targeting slot typed by capability contract.
brush_serviceProperty6.0.0-210/211: brush slot typed by capability contract. Factory refuses to attach a brush whose supported_dimensions() does not include the active dimension; 3D groups simply leave this null.
brush_coordinatorPropertyTyped 2D view of brush_service: the host's 2D brush paths need BrushCoordinator-only methods. Null when no service is set or the service is a 3D-only implementation.
refund_servicePropertyScene-free refund service. Null when manipulation not configured.
drag_servicePropertyScene-free drag service. Always available (zero cost when unused).
object_placement_servicePropertyScene-free object placement service. Owns the build/place flow without requiring a scene node — wraps PlacementBuildOrchestrator directly. Created when [GridPlacementSettings.building] is non-null for a 2D group. The internal 3D path uses its separate ObjectPlacementService3D.
target_highlighterPropertyScene-free hover highlighter. Tints the hovered target by mode and Manipulatable state (movable/demolishable/info colors). Created for 2D groups only: it modulates CanvasItems, so the 3D path (which owns its separate target_highlight_3d) leaves this null.
register_terrainMethod
register_manipulationMethod
register_targetingMethod
register_brushMethod
get_object_placement_service_for_sessionMethod
sessionPropertyThe session this group was configured from.
configureMethod
swap_active_statesMethod
disposeMethod
remove_sessionMethod
get_runtime_issuesMethod