AI-powered scene operations — SQL-like and spatial object queries plus automatic layout and auto-binding. Use when querying scene objects by condition or proximity, auto-arranging objects, or auto-wiring references, even if the user just says "找出所有…的物体" or "自动排列". AI 驱动的场景操作(类 SQL 与空间对象查询、自动布局、自动绑定);当用户要按条件或邻近关系查询场景对象、自动排布对象、或自动连线引用时使用。
npx skills add https://github.com/Besty0728/Unity-Skills --skill unity-smart
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 单次执行返结果。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 toolssmart_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_groundRouting:
gameobject modulegameobject_find or scene_find_objectssmart_scene_query (this module)Find objects based on component property values (SQL-like).
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| componentName | string | Yes | - | Component type (Light, Camera, MeshRenderer) |
| propertyName | string | Yes | - | Property to query (intensity, enabled, etc.) |
| op | string | No | "==" | ==, !=, >, <, >=, <=, contains |
| value | string | No | null | Value to compare |
| limit | int | No | 50 | Max results |
| query | string | No | null | Unsupported 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")
Organize selected objects into a layout.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| layoutType | string | No | "Linear" | Linear, Grid, Circle, Arc |
| axis | string | No | "X" | X, Y, Z, -X, -Y, -Z |
| spacing | float | No | 2.0 | Space between items (or radius) |
| columns | int | No | 3 | For Grid layout |
| arcAngle | float | No | 180 | For Arc layout (degrees) |
| lookAtCenter | bool | No | false | Rotate to face center |
Example:
# Arrange selected objects in a circle
call_skill("smart_scene_layout", layoutType="Circle", spacing=5)
Auto-fill a List/Array field with matching objects.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| targetName | string | Yes | - | Target GameObject |
| componentName | string | Yes | - | Component on target |
| fieldName | string | Yes | - | Field to fill |
| sourceTag | string | No | null | Find by tag |
| sourceName | string | No | null | Find by name contains |
| appendMode | bool | No | false | Append 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_spatialFind objects within a sphere/box region, optionally filtered by component.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| x | float | Yes | - | Center X coordinate |
| y | float | Yes | - | Center Y coordinate |
| z | float | Yes | - | Center Z coordinate |
| radius | float | No | 10 | Search sphere radius |
| componentFilter | string | No | null | Only include objects with this component |
| limit | int | No | 50 | Max results |
Returns: { success, count, center, radius, results }
smart_align_to_groundRaycast selected objects downward to align them to the ground. Requires objects selected in Hierarchy first.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| maxDistance | float | No | 100 | Maximum raycast distance |
| alignRotation | bool | No | false | Align rotation to surface normal |
Returns: { success, aligned, total }
smart_distributeEvenly distribute selected objects between first and last positions. Requires at least 3 objects selected in Hierarchy first.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| axis | string | No | "X" | X, Y, Z, -X, -Y, -Z |
Returns: { success, distributed, axis }
smart_snap_to_gridSnap selected objects to a grid.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| gridSize | float | No | 1 | Grid cell size |
Returns: { success, snapped, gridSize }
smart_randomize_transformRandomize position/rotation/scale of selected objects within ranges.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| posRange | float | No | 0 | Position randomization range |
| rotRange | float | No | 0 | Rotation randomization range (degrees) |
| scaleMin | float | No | 1 | Minimum uniform scale |
| scaleMax | float | No | 1 | Maximum uniform scale |
Returns: { success, randomized }
smart_replace_objectsReplace selected objects with a prefab (preserving transforms). Requires objects selected in Hierarchy first.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| prefabPath | string | Yes | - | Asset path to the replacement prefab |
Returns: { success, replaced, prefab }
smart_select_by_componentSelect all objects that have a specific component.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| componentName | string | Yes | - | Component type name to search for |
Returns: { success, selected, component }
Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Take besty0728/unity-smart from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.