addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Run Unity Test Runner operations asynchronously
$ npx -y skills add Besty0728/Unity-Skills --skill test --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/testContext preview
The summary Claude sees to decide when to auto-load this skill.
Run Unity Test Runner operations asynchronously
name: unity-test description: Run Unity Test Runner operations asynchronously
> **Before calling any skill in this module:** if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via `GET /skills/recommend?includeSchema=true`) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.
Run and manage Unity tests.
Approval 模式下这 4 个返 `MODE_FORBIDDEN`,仅 Bypass 或 Allowlist 命中可绕过。注意:`test_run(testMode="PlayMode")` / `test_run_by_name` 会让 Unity TestRunner 切入 PlayMode;`test_create_editmode` / `test_create_playmode` 落盘新的 .cs 文件后会触发 Domain Reload。
**DO NOT** (common hallucinations):
**Routing**:
List available tests via Unity Test Runner async discovery. **Returns `pendingDiscovery=true` + `discoveryJobId` on first call (cache miss)** — poll `test_discover_get_result(jobId)` then retry `test_list`. **Parameters:**
**Returns:** `{ success, testMode, count, total, truncated, tests, pendingDiscovery, discoveryJobId, discoveryStatus }` — here `count` is how many came back and `total` is how many were discovered, `truncated: true` means raise `limit`. (`test_discover_get_result` uses `count` for the total instead — see the warning there.)
Run Unity tests asynchronously. Returns a `jobId` immediately; poll with `test_get_result(jobId)`. **Parameters:**
**Returns:** `{ success, status, jobId, kind, testMode, filter, message }`
Get the result of a test run. **Parameters:**
**Returns:** `{ success, jobId, status, totalTests, passedTests, failedTests, skippedTests, inconclusiveTests, otherTests, failedTestNames, failedTestDetails, elapsedSeconds, resultSummary, error }` — each failure detail includes `name`, `resultState`, `message`, `stackTrace`, `durationSeconds`, and `output`.
Cancel a running test job if supported (Unity TestRunner has no hard cancel — best-effort). **Parameters:**
**Returns:** `{ success, jobId, status, cancelled, note, warnings }`
Start asynchronous Unity Test Runner discovery and return a discovery `jobId`. Use this directly when you want explicit control over discovery; otherwise `test_list` / `test_list_categories` will trigger it on cache miss.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | testMode | string | No | EditMode | EditMode or PlayMode |
**Returns:** `{ success, status, jobId, kind, testMode, message }`
Get the result of an asynchronous Unity Test Runner discovery job.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | jobId | string | Yes | - | Discovery job ID | | limit | int | No | 100 | Max tests in the response; **the default silently caps a larger suite** |
**Returns:** `{ success, jobId, status, testMode, discoveryMode, count, returned, truncated, tests, error }`
> **Here `count` is the total and `returned` is what you got.** `count` is how many tests the discovery found, `returned` is how many are in `tests` after `limit` was applied, `truncated: true` says the two differ — raise `limit` to see the rest. A project with 300 tests answers `count: 300, returned: 100, truncated: true` under the default. Never derive the suite size from `len(tests)`. > > ⚠️ **`count` means the opposite thing in `test_list`.** There `count` is the *returned* length and `total` is the discovered size; here `count` is the *discovered* size and `returned` is the returned leng
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)