addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
AI-powered scene queries, layout and auto-binding. AI
Claude Code
$ npx -y skills add Besty0728/Unity-Skills --skill smart --agent claude-code
Codex
$ npx skills add Besty0728/Unity-Skills --skill smart -a codex -y
Cursor
$ npx skills add Besty0728/Unity-Skills --skill smart -a cursor -y
Gemini CLI
$ npx skills add Besty0728/Unity-Skills --skill smart -a gemini-cli -y
GitHub Copilot
$ npx skills add Besty0728/Unity-Skills --skill smart -a github-copilot -y
OpenCode
$ npx skills add Besty0728/Unity-Skills --skill smart -a opencode -y
Windsurf
$ npx skills add Besty0728/Unity-Skills --skill smart -a windsurf -y
name: unity-smart description: AI-powered scene queries, layout and auto-binding. AI
Condition and proximity queries, layout of selected objects, and automatic reference binding. Parameters come from the schema (`GET /skills/schema?names=<skill>&wire=v2`); execution and dryRun rules: root [SKILL.md](../../SKILL.md).
Find objects by a component property value (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 sent alone it returns a guidance error |
Example: `{"componentName":"Light","propertyName":"intensity","op":">","value":"2"}` finds lights with intensity above 2.
Arrange the selected objects in 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; used by Linear, ignored by Circle | | `spacing` | float | No | 2.0 | Space between items (the radius under Circle) | | `columns` | int | No | 3 | Grid layout only | | `arcAngle` | float | No | 180 | Arc layout only, in degrees | | `lookAtCenter` | bool | No | false | Circle and Arc: rotate to face the center |
**Returns**: `{success, layout, count, spacing}`
Fill a List or Array field with matching objects.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `targetName` | string | Yes | - | Target GameObject | | `componentName` | string | No | - | Component on the target | | `fieldName` | string | Yes | - | Field to fill | | `sourceTag` | string | No | null | Find sources by tag | | `sourceName` | string | No | null | Find sources whose name contains this text | | `appendMode` | bool | No | false | Append instead of replacing |
**Returns**: `{success, boundCount, field, appendMode}`
Find objects within a sphere, optionally filtered by component.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `x` | float | Yes | - | Center X | | `y` | float | Yes | - | Center Y | | `z` | float | Yes | - | Center Z | | `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}`
Raycast the selected objects downward onto the ground.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `maxDistance` | float | No | 100 | Maximum raycast distance | | `alignRotation` | bool | No | false | Align rotation to the surface normal |
**Returns**: `{success, aligned, total}`
Evenly distribute the selected objects between the first and last positions. Needs at least 3 selected objects.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `axis` | string | No | "X" | X, Y, Z, -X, -Y, -Z |
**Returns**: `{success, distributed, axis}`
Snap the selected objects to a grid.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `gridSize` | float | No | 1 | Grid cell size |
**Returns**: `{success, snapped, gridSize}`
Randomize the position, rotation and scale of the 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}`
Replace the selected objects with a prefab, keeping their transforms. The originals are deleted.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `prefabPath` | string | Yes | - | Asset path of the replacement prefab |
**Returns**: `{success, replaced, prefab}`
Select all objects that have a given component.
| Parameter | Type | Required | Default | Description | |-----------|
REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills 🎉 We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs → The current official maintenance baseline is Unity 2022.3+.
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.