Skip to content
unity-smart logo

Unity Smart Skills

unity-smart

AI-powered scene operations — SQL-like and spatial object queries, automatic layout (grid/circle/line), align/distribute/snap/randomize, replace prefabs, reference auto-binding. Exact signatures via GET /skills/schema.

SKILL.md

Full skill instructions

Unity Smart Skills

Operating Mode

  • Approval:本模块 Mixed —— 只读查询 skill smart_scene_query / smart_scene_query_spatial(标 ReadOnly = true, Mode = SkillMode.SemiAuto)可直接执行;其余布局/绑定/变换类 skill (smart_scene_layout / smart_reference_bind / smart_align_to_ground / smart_distribute / smart_snap_to_grid / smart_randomize_transform / smart_select_by_component) 为 SkillMode.FullAuto,需用户 grant 单次执行返结果。
  • Auto / Bypass:直接执行。
  • 含 NeverInSemi 高危 skill:smart_replace_objects(Operation.Modify|Delete,会替换并删除原对象)。该 skill 在 Approval/​Auto 下返 MODE_FORBIDDEN,仅 Bypass 或 Allowlist 命中可调。

DO NOT (common hallucinations):

  • smart_create / smart_build do not exist → smart skills are query/​layout tools, not creation tools
  • smart_search / smart_query do not exist → use smart_scene_query (component property filters) or smart_scene_query_spatial (spatial region filters)
  • smart_move does not exist → use smart_snap_to_grid or smart_align_to_ground

Routing:

  • For creating objects → use gameobject module
  • For simple object search → use gameobject_find or scene_find_objects
  • For complex scene queries (SQL-like) → smart_scene_query (this module)

Skills

smart_scene_query

Find objects based on component property values (SQL-like).

ParameterTypeRequiredDefaultDescription
componentNamestringYes-Component type (Light, Camera, MeshRenderer)
propertyNamestringYes-Property to query (intensity, enabled, etc.)
opstringNo"=="==, !=, >, <, >=, <=, contains
valuestringNonullValue to compare
limitintNo50Max results
querystringNonullUnsupported shorthand; if provided alone returns a guidance error

Example:

# Find all lights with intensity > 2
call_skill("smart_scene_query", componentName="Light", propertyName="intensity", op=">", value="2")

smart_scene_layout

Organize selected objects into a layout.

ParameterTypeRequiredDefaultDescription
layoutTypestringNo"Linear"Linear, Grid, Circle, Arc
axisstringNo"X"X, Y, Z, -X, -Y, -Z
spacingfloatNo2.0Space between items (or radius)
columnsintNo3For Grid layout
arcAnglefloatNo180For Arc layout (degrees)
lookAtCenterboolNofalseRotate to face center

Example:

# Arrange selected objects in a circle
call_skill("smart_scene_layout", layoutType="Circle", spacing=5)

smart_reference_bind

Auto-fill a List/​Array field with matching objects.

ParameterTypeRequiredDefaultDescription
targetNamestringYes-Target GameObject
componentNamestringYes-Component on target
fieldNamestringYes-Field to fill
sourceTagstringNonullFind by tag
sourceNamestringNonullFind by name contains
appendModeboolNofalseAppend instead of replace

Example:

# Fill GameManager.spawns with all SpawnPoint tagged objects
call_skill("smart_reference_bind", targetName="GameManager", componentName="GameController", fieldName="spawns", sourceTag="SpawnPoint")

smart_scene_query_spatial

Find objects within a sphere/​box region, optionally filtered by component.

ParameterTypeRequiredDefaultDescription
xfloatYes-Center X coordinate
yfloatYes-Center Y coordinate
zfloatYes-Center Z coordinate
radiusfloatNo10Search sphere radius
componentFilterstringNonullOnly include objects with this component
limitintNo50Max results

Returns: { success, count, center, radius, results }


smart_align_to_ground

Raycast selected objects downward to align them to the ground. Requires objects selected in Hierarchy first.

ParameterTypeRequiredDefaultDescription
maxDistancefloatNo100Maximum raycast distance
alignRotationboolNofalseAlign rotation to surface normal

Returns: { success, aligned, total }


smart_distribute

Evenly distribute selected objects between first and last positions. Requires at least 3 objects selected in Hierarchy first.

ParameterTypeRequiredDefaultDescription
axisstringNo"X"X, Y, Z, -X, -Y, -Z

Returns: { success, distributed, axis }


smart_snap_to_grid

Snap selected objects to a grid.

ParameterTypeRequiredDefaultDescription
gridSizefloatNo1Grid cell size

Returns: { success, snapped, gridSize }


smart_randomize_transform

Randomize position/​rotation/​scale of selected objects within ranges.

ParameterTypeRequiredDefaultDescription
posRangefloatNo0Position randomization range
rotRangefloatNo0Rotation randomization range (degrees)
scaleMinfloatNo1Minimum uniform scale
scaleMaxfloatNo1Maximum uniform scale

Returns: { success, randomized }


smart_replace_objects

Replace selected objects with a prefab (preserving transforms). Requires objects selected in Hierarchy first.

ParameterTypeRequiredDefaultDescription
prefabPathstringYes-Asset path to the replacement prefab

Returns: { success, replaced, prefab }


smart_select_by_component

Select all objects that have a specific component.

ParameterTypeRequiredDefaultDescription
componentNamestringYes-Component type name to search for

Returns: { success, selected, component }


Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /​skills/​schema or unity_skills.get_skill_schema(), not by this file.