Skip to content

Class

ObjectPlacementSettings3D

Generated GDScript class reference for GridPlacement.ObjectPlacementSettings3D.

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

Configuration for [ObjectPlacementService3D]: preview tint colors and ground/support validation knobs. Runtime-instantiated: read every placement pass by ObjectPlacementService3D. Do not mark @tool.

Source: addons/grid_placement/systems/building/3d/object_placement_settings_3d.gd

Syntax

class ObjectPlacementSettings3D extends Resource

Members

NameKindSummary
valid_colorPropertyTint applied to the preview ghost when the pending placement is valid.
invalid_colorPropertyTint applied to the preview ghost when the pending placement is invalid.
blocked_feedbackPropertyOptional non-color feedback. Flat color preserves existing projects; stripes distinguish blocked previews without requiring a red/green comparison.
blocked_pattern_texturePropertyOptional replacement for the built-in stripes (used only in STRIPES mode).
presentation_profilePropertyOptional opt-in presentation profile: ghost material response and a ground contact ring. Null keeps the built-in validity tint and adds no extras.
smooth_enable_contact_ringPropertySMOOTH-mode contact ring (opt-in, like the GRID profile flag). GRID previews show per-cell tile indicators instead, so the profile's enable_contact_ring governs GRID only; this flag governs SMOOTH. Ring colors and shape still come from [member presentation_profile]; null profile (or false here) hides it.
surface_offsetPropertyExtra vertical offset added on top of the resolved support surface.
require_ground_cellPropertyWhen true, the active support authority must resolve ground/support for the whole footprint according to the selected support policy.
max_elevation_deltaPropertyGridMap-only elevation tolerance retained for the legacy/default path.
allow_same_type_edge_replacePropertyDefault same-type EDGE replacement: mounting a wall piece on an edge already holding a different piece of the same snap family replaces the occupant (a window wall swaps over a regular wall of the same type) instead of rejecting as occupied. Exact-duplicate mounts stay blocked.
surface_support_modePropertyChooses which surface authority validates GRID CELL support. Presentation-only policy for 3D mount indicators. This never changes which mount is validated, the valid/blocked state, the resolved transform, commit behavior, or save/restore semantics — only how (and whether) the evaluated mount/support is drawn. Anchored on/just above the authoritative evaluated mount surface or slot with a normal depth relationship to the ghost. Same authoritative mount position/orientation, rendered prominently through/on top of the ghost (no depth test, raised priority). Suppress mount indicators; ghost valid/invalid tint still shows. Default remains the GridMap contract. Physics-backed support is opt-in so existing GridMap projects do not silently change placement semantics.
max_ground_slope_degreesPropertyMaximum angle between a physics support normal and world-up.
min_support_ratioPropertyMinimum fraction of sampled support points that must hit usable support. Individual entries can override this with ScenePlacementEntry.custom_min_support_ratio.
max_support_planarity_errorPropertyMaximum distance of any supported sample from the sampled support plane.
world_up_clearancePropertyMaximum vertical relief a world-up structural piece may span. This is the one authoritative support-height threshold for physics-backed placement.
require_center_supportPropertyWhen true, an explicit footprint-center ray must hit support.
max_unsupported_edge_ratioPropertyMaximum unsupported fraction allowed on any footprint edge.
support_collision_maskPropertyPhysics layers considered valid support.
align_to_support_planePropertyOptional presentation policy for small props. Structural entries should normally leave this false and remain world-up even on slopes.
surface_scan_max_yPropertyHighest GridMap y layer probed when resolving a column's surface.
surface_scan_min_yPropertyLowest GridMap y layer probed when resolving a column's surface.
indicator_presentationPropertyHow 3D mount indicators are drawn. MOUNT_SURFACE (default) keeps them on the evaluated mount with normal depth; OVERLAY renders the same mount prominently through the ghost; HIDDEN suppresses indicators while ghost tint still communicates valid/invalid. Presentation only.
default_attachment_requirementPropertyDefault attachment strictness for profiles that INHERIT. OPTIONAL preserves historical free placement; REQUIRED makes INHERIT profiles demand their normal compatible attachment.
default_corner_host_topologyPropertyDefault CORNER host-count policy for profiles that INHERIT: ANY_ONE accepts a single compatible host; TWO_ORTHOGONAL (default) keeps the strict historical two-perpendicular-hosts contract.
enable_paint_strokesPropertyPress-and-hold multi-place: with a wall/window/door (or any socket or single-cell) entry, holding the confirm button while sweeping stamps each newly hovered mount where valid. A press+release without moving stays a plain single placement. Disable for click-only placement.
invalid_stripe_textureMethod
get_blocked_pattern_textureMethod
create_blocked_overlayMethod