Placement entry for instancing scene objects into the game world. Carries a [member packed_scene] plus object-specific tool/rule overrides. The canonical replacement for the v5 Placeable class. Runtime-instantiated: games call ScenePlacementEntry.new() to populate catalogs and the engine reads it on placement passes. Do not mark @tool.
Source: addons/grid_placement/placement/placeable/scene_placement_entry.gd
Syntax
class ScenePlacementEntry extends PlacementEntryMembers
| Name | Kind | Summary |
|---|---|---|
display_name | Property | Display name for in-game reading. |
cell_anchor_offset | Method | |
cell_anchor_mode | Property | |
packed_scene | Property | Scene to instance when placed. |
profiles | Property | Placement profiles for grouping entries with shared behavior. Profiles carry their own [member PlacementProfile.placement_rules] and [member PlacementProfile.supported_object_tools] that layer into the three-tier rule/tool resolution. |
snap_profile_3d | Property | Optional 3D snap-category metadata (family + accept-list). Consulted by [ObjectPlacementService3D] when validating 3D placements; ignored in 2D. |
footprint_2d | Property | Footprint in 2D world units (x, y) for smooth/free placement mode. The object occupies this axis-aligned rectangle centered on its position. Required for smooth placement; default [Vector2.ZERO] makes smooth placement fail closed until a footprint is configured. |
footprint_3d | Property | Footprint in GridMap cells (x, z) for 3D grid placement. The targeted cell is the footprint's minimum corner; validation checks occupancy, ground, and the active support policy across every covered column. Ignored in 2D. |
footprint_3d_world | Property | Footprint in 3D world units (x, y, z) for smooth/free placement mode. The object occupies this axis-aligned box centered on its position. Required for smooth 3D placement; default [Vector3.ZERO] means no footprint and the service will fail closed. GRID EDGE mounts also read x (span along the edge) and z (thickness across it) as span INTENT: validation sizes the overlap box from this footprint and centers it on the measured mesh, so meshes may overhang for continuity (fence rails) without widening the span, while offset kits still land exactly. Entries without a footprint keep legacy single-edge occupancy. |
seam_bounds_3d | Property | Authored mesh truth for GRID seam closure, in entry-local space unrotated: the visual AABB of packed_scene's meshes. Consumed only when the snap profile enables seam_close_to_partner; default empty means unset and the closure is a no-op. A GdUnit contract test asserts these bounds still match the live mesh, so the data cannot rot silently. |
custom_min_support_ratio | Property | -1 means inherit ObjectPlacementSettings3D.min_support_ratio. |
custom_world_up_clearance | Property | -1 means inherit ObjectPlacementSettings3D.world_up_clearance. |
custom_max_support_planarity_error | Property | -1 means inherit ObjectPlacementSettings3D.max_support_planarity_error. |
custom_max_unsupported_edge_ratio | Property | -1 means inherit ObjectPlacementSettings3D.max_unsupported_edge_ratio. |
custom_require_center_support | Property | -1 = inherit, 0 = do not require center support, 1 = require center support. |
tool_override_mode | Property | How this entry's [member tool_overrides] interact with its profiles' [member PlacementProfile.supported_object_tools]. See [enum ToolOverrideMode]. |
tool_overrides | Property | Tools added or removed depending on [member tool_override_mode]. - [enum INHERIT]: ignored (profiles provide the full list) - [enum REPLACE]: this list IS the full tool set - [enum ADD]: these are unioned with profile tools - [enum REMOVE]: these are subtracted from profile tools |
catalog_locked | Property | When true, catalog UI shows this entry as locked (not selectable). Used by demos to illustrate an unlock-gated placeable without a grey placeholder. |
get_build_costs | Method | |
get_display_name | Method | |
get_load_data | Method | |
load_resource | Method | |
get_packed_root_name | Method | |
is_grid_socket_mount | Method | |
resolve_object_tools | Method | |
get_editor_issues | Method | |
get_runtime_issues | Method | |
UID | Field | |
FILE_PATH | Field |