Skip to content

Class

ObjectPlacementSettings3D

Generated GDScript class reference for GridPlacement.ObjectPlacementSettings3D.

Status
Draft
Version
v6.0
Updated
Development docs generated from GDScript source

This is unreleased documentation in active development. APIs, class names, and behavior may change before the final release.

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