Snap-category metadata for 3D placeables ( draft surface). Declares what a placeable IS ([member family]) and what it may attach to ([member snaps_with]). Matching is a directional accept-list: the entry being placed checks its own [member snaps_with] against the [member family] of already-placed neighbors. Families are arbitrary [StringName]s, so the granularity ("building", "floor", "wall_exterior", ...) is the game's choice — the plugin only provides the matching contract. See addons/grid_placement/guides/3d_object_placement_draft.md for the design rationale (why accept-lists instead of mutual type equality).
Source: addons/grid_placement/placement/placeable/placement_snap_profile_3d.gd
Syntax
class PlacementSnapProfile3D extends ResourceMembers
| Name | Kind | Summary |
|---|---|---|
snap_mode | Property | How this placeable attaches to the grid: - CELL: occupies whole columns; adjacency is checked against orthogonal neighbor columns (foundations, floors, furniture). - EDGE: mounts on one of the four edges of a HOST cell (thin modular pieces like wall panels/fences). [member snaps_with] then names the families that may host it, and the piece is auto-rotated to run along the edge it snaps to. Attachment mode for this placeable. See [enum SnapMode]. |
family | Property | Category this placeable belongs to (what neighbors will test against). |
snaps_with | Property | Families this placeable may snap/attach to. Order does not matter. |
require_adjacent_snap | Property | When true, placement is only valid if at least one orthogonally adjacent cell holds an object whose family is in [member snaps_with]. When false, the profile is advisory (free placement; family still recorded so other objects can snap to this one). |
accepts_family | Method |
Source
addons/grid_placement/placement/placeable/placement_snap_profile_3d.gd
Plugin docs root:gdscript/plugins/grid_placement_dev/docs