Placement behavior profile applied to placeables via [member ScenePlacementEntry.profiles]. A profile carries placement rules, tool restrictions, and placement overrides that layer onto all placeables sharing the tag. Profiles are resolved in the three-tier rule order: base → profile → placeable. Profiles replace the deprecated [CategoricalTag] class. See the 6.0 migration guide for the rename path.
Source: addons/grid_placement/placement/placeable/placement_profile.gd
Syntax
class PlacementProfile extends ResourceMembers
| Name | Kind | Summary |
|---|---|---|
description | Property | Multiline description with BBCode support for UI display. |
display_name | Property | Display name for UI and gameplay. |
icon | Property | Small image representing the profile in UI elements. |
placement_rules | Property | Placement rules that apply to all placeables with this profile. These sit between base config rules and per-placeable rules in the three-tier resolution order: base → profile → placeable. |
ignore_base_rules | Property | When [code]true[/code], placeables with this profile ignore base config and profile placement rules, using only per-placeable [member ScenePlacementEntry.placement_rules]. Any profile on a placeable can opt it out of base rules; this is OR-ed with [member ScenePlacementEntry.ignore_base_rules]. |
supported_object_tools | Property | Object tools supported by this profile. Defaults to [enum SINGLE] only. Multiple profiles on a placeable merge their tool lists; the placeable can then override with [member ScenePlacementEntry.tool_override_mode]. |
disable_grid_snap | Property | When [code]true[/code], placeables with this profile skip grid snapping during placement. The instance is placed at the exact cursor/world position instead of snapping to tile centers. Use for free-form doodads and decorations. Any profile on a placeable can disable snapping; the first [code]true[/code] wins. |
placed_parent_name | Property | When non-empty, placeables with this profile are parented to a child of [member PlacementState.placed_parent] with this name instead of the default parent. The node is created automatically if it doesn't exist. When multiple profiles specify a parent name, the first non-empty value wins. Leave empty to use the default [member PlacementState.placed_parent]. |
resolve_category_rules | Method | |
rules | Property | |
collect_supported_tools | Method | |
tools | Property |
Source
addons/grid_placement/placement/placeable/placement_profile.gd
Plugin docs root:gdscript/plugins/grid_placement_dev/docs