3D hover highlight: tints the hovered placed object's own meshes. Follows GridTargetingState.target_3d (the host resolves the hovered cell column to a placed root) and tints the meshes by mode, so info/move/demolish/build hovering always shows an effect on the thing itself. During a move carry the subject switches to the carried ghost and the color switches to the live drop validity (green/red). The tint rides GeometryInstance3D.material_overlay, which never touches authored materials; prior overlays are restored on unhover. Alpha-cutout surfaces (foliage) instead take a per-surface emission clone that preserves the authored texture, scissor cutoff, and cull mode, so only visible texels tint rather than whole quads. DisplayMode.BOX keeps the legacy wire box (the shared pick volume) as a configurable option. Hidden with no target or in OFF.
Source: addons/grid_placement/systems/grid_targeting/target_highlight_3d.gd
Syntax
class TargetHighlight3D extends PlacementNode3DMembers
| Name | Kind | Summary |
|---|---|---|
HIGHLIGHT_GROUP | Field | Scene-tree group the highlight registers, so the demolish-box tick can push victim roots without a scene-path coupling (same precedent as the object shape preview group). |
COLOR_INFO | Field | How the hovered target renders. MESH tints the target's own meshes (the default players expect); BOX draws the pick-volume wire box. |
COLOR_BUILD | Field | |
COLOR_MOVE | Field | |
COLOR_DEMOLISH | Field | |
COLOR_MOVE_VALID | Field | Fallback carry colors when no HighlightSettings are configured; mirror the move_valid_color/move_invalid_color defaults. |
COLOR_MOVE_INVALID | Field | |
OVERLAY_ALPHA | Field | Overlay tint strength in MESH mode. Opaque enough to read on any texture, transparent enough to keep mesh detail visible. |
EMISSION_ENERGY | Field | Emission strength of cutout surface tints. The clone keeps the authored albedo, so the mode color reads as a glow over the intact texture. |
display_mode | Property | Render mode. MESH (default) tints the target's meshes; BOX draws the legacy wire box. Set from the inspector per demo or at runtime. |
highlight_settings | Property | Configured carry colors (same resource the 2D highlighter uses); falls back to COLOR_MOVE_VALID/COLOR_MOVE_INVALID when unconfigured. |
resolve_placement_dependencies | Method | |
current_box | Method | |
set_box_roots | Method |