# unity-mcp - Doramagic AI Context Pack

> 定位：安装前体验与判断资产。它帮助宿主 AI 有一个好的开始，但不代表已经安装、执行或验证目标项目。

## 充分原则

- **充分原则，不是压缩原则**：AI Context Pack 应该充分到让宿主 AI 在开工前理解项目价值、能力边界、使用入口、风险和证据来源；它可以分层组织，但不以最短摘要为目标。
- **压缩策略**：只压缩噪声和重复内容，不压缩会影响判断和开工质量的上下文。

## 给宿主 AI 的使用方式

你正在读取 Doramagic 为 unity-mcp 编译的 AI Context Pack。请把它当作开工前上下文：帮助用户理解适合谁、能做什么、如何开始、哪些必须安装后验证、风险在哪里。不要声称你已经安装、运行或执行了目标项目。

## Claim 消费规则

- **事实来源**：Repo Evidence + Claim/Evidence Graph；Human Wiki 只提供显著性、术语和叙事结构。
- **事实最低状态**：`supported`
- `supported`：可以作为项目事实使用，但回答中必须引用 claim_id 和证据路径。
- `weak`：只能作为低置信度线索，必须要求用户继续核实。
- `inferred`：只能用于风险提示或待确认问题，不能包装成项目事实。
- `unverified`：不得作为事实使用，应明确说证据不足。
- `contradicted`：必须展示冲突来源，不得替用户强行选择一个版本。

## 它最适合谁

- **正在使用 Claude/Codex/Cursor/Gemini 等宿主 AI 的开发者**：README 或插件配置提到多个宿主 AI。 证据：`README.md` Claim：`clm_0003` supported 0.86
- **希望把专业流程带进宿主 AI 的用户**：仓库包含 Skill 文档。 证据：`.claude/skills/build-cli/SKILL.md`, `.claude/skills/github-pr-review-fix/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-create-folder/SKILL.md` 等 Claim：`clm_0004` supported 0.86

## 它能做什么

- **AI Skill / Agent 指令资产库**（可做安装前预览）：项目包含可被宿主 AI 读取的 Skill 或 Agent 指令文件，可用于把专业流程带入 Claude、Codex、Cursor 等宿主。 证据：`.claude/skills/build-cli/SKILL.md`, `.claude/skills/github-pr-review-fix/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-create-folder/SKILL.md` 等 Claim：`clm_0001` supported 0.86
- **命令行启动或安装流程**（需要安装后验证）：项目文档中存在可执行命令，真实使用需要在本地或宿主环境中运行这些命令。 证据：`README.md` Claim：`clm_0002` supported 0.86

## 怎么开始

- `npm install -g unity-mcp-cli` 证据：`README.md` Claim：`clm_0005` supported 0.86, `clm_0006` supported 0.86
- `npm install -g unity-mcp-cli                               #  │ Available AI agent │` 证据：`README.md` Claim：`clm_0006` supported 0.86
- `claude mcp add ai-game-developer <command>` 证据：`README.md` Claim：`clm_0007` supported 0.86

## 继续前判断卡

- **当前建议**：需要管理员/安全审批
- **为什么**：继续前可能涉及密钥、账号、外部服务或敏感上下文，建议先经过管理员或安全审批。

### 30 秒判断

- **现在怎么做**：需要管理员/安全审批
- **最小安全下一步**：先跑 Prompt Preview；若涉及凭证或企业环境，先审批再试装
- **先别相信**：工具权限边界不能在安装前相信。
- **继续会触碰**：命令执行、宿主 AI 配置、本地环境或项目文件

### 现在可以相信

- **适合人群线索：正在使用 Claude/Codex/Cursor/Gemini 等宿主 AI 的开发者**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`README.md` Claim：`clm_0003` supported 0.86
- **适合人群线索：希望把专业流程带进宿主 AI 的用户**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`.claude/skills/build-cli/SKILL.md`, `.claude/skills/github-pr-review-fix/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-create-folder/SKILL.md` 等 Claim：`clm_0004` supported 0.86
- **能力存在：AI Skill / Agent 指令资产库**（supported）：可以相信项目包含这类能力线索；是否适合你的具体任务仍要试用或安装后验证。 证据：`.claude/skills/build-cli/SKILL.md`, `.claude/skills/github-pr-review-fix/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-create-folder/SKILL.md` 等 Claim：`clm_0001` supported 0.86
- **能力存在：命令行启动或安装流程**（supported）：可以相信项目包含这类能力线索；是否适合你的具体任务仍要试用或安装后验证。 证据：`README.md` Claim：`clm_0002` supported 0.86
- **存在 Quick Start / 安装命令线索**（supported）：可以相信项目文档出现过启动或安装入口；不要因此直接在主力环境运行。 证据：`README.md` Claim：`clm_0005` supported 0.86, `clm_0006` supported 0.86

### 现在还不能相信

- **工具权限边界不能在安装前相信。**（unverified）：MCP/tool 类项目通常会触碰文件、网络、浏览器或外部 API，必须真实检查权限和日志。
- **真实输出质量不能在安装前相信。**（unverified）：Prompt Preview 只能展示引导方式，不能证明真实项目中的结果质量。
- **宿主 AI 版本兼容性不能在安装前相信。**（unverified）：Claude、Cursor、Codex、Gemini 等宿主加载规则和版本差异必须在真实环境验证。
- **不会污染现有宿主 AI 行为，不能直接相信。**（inferred）：Skill、plugin、AGENTS/CLAUDE/GEMINI 指令可能改变宿主 AI 的默认行为。 证据：`.claude/skills/build-cli/SKILL.md`, `.claude/skills/github-pr-review-fix/SKILL.md`, `CLAUDE.md`, `Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md` 等
- **可安全回滚不能默认相信。**（unverified）：除非项目明确提供卸载和恢复说明，否则必须先在隔离环境验证。
- **真实安装后是否与用户当前宿主 AI 版本兼容？**（unverified）：兼容性只能通过实际宿主环境验证。
- **项目输出质量是否满足用户具体任务？**（unverified）：安装前预览只能展示流程和边界，不能替代真实评测。
- **安装命令是否需要网络、权限或全局写入？**（unverified）：这影响企业环境和个人环境的安装风险。 证据：`README.md`

### 继续会触碰什么

- **命令执行**：包管理器、网络下载、本地插件目录、项目配置或用户主目录。 原因：运行第一条命令就可能产生环境改动；必须先判断是否值得跑。 证据：`README.md`
- **宿主 AI 配置**：Claude/Codex/Cursor/Gemini/OpenCode 等宿主的 plugin、Skill 或规则加载配置。 原因：宿主配置会改变 AI 后续工作方式，可能和用户已有规则冲突。 证据：`.claude/skills/build-cli/SKILL.md`, `.claude/skills/github-pr-review-fix/SKILL.md`, `CLAUDE.md`, `Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md` 等
- **本地环境或项目文件**：安装结果、插件缓存、项目配置或本地依赖目录。 原因：安装前无法证明写入范围和回滚方式，需要隔离验证。 证据：`README.md`
- **环境变量 / API Key**：项目入口文档明确出现 API key、token、secret 或账号凭证配置。 原因：如果真实安装需要凭证，应先使用测试凭证并经过权限/合规判断。 证据：`Installer/Assets/com.IvanMurzak/AI Game Dev Installer/README.md`, `README.md`, `Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/README.md`, `cli/README.md` 等
- **宿主 AI 上下文**：AI Context Pack、Prompt Preview、Skill 路由、风险规则和项目事实。 原因：导入上下文会影响宿主 AI 后续判断，必须避免把未验证项包装成事实。

### 最小安全下一步

- **先跑 Prompt Preview**：用安装前交互式试用判断工作方式是否匹配，不需要授权或改环境。（适用：任何项目都适用，尤其是输出质量未知时。）
- **只在隔离目录或测试账号试装**：避免安装命令污染主力宿主 AI、真实项目或用户主目录。（适用：存在命令执行、插件配置或本地写入线索时。）
- **先备份宿主 AI 配置**：Skill、plugin、规则文件可能改变 Claude/Cursor/Codex 的默认行为。（适用：存在插件 manifest、Skill 或宿主规则入口时。）
- **不要使用真实生产凭证**：环境变量/API key 一旦进入宿主或工具链，可能产生账号和合规风险。（适用：出现 API、TOKEN、KEY、SECRET 等环境线索时。）
- **安装后只验证一个最小任务**：先验证加载、兼容、输出质量和回滚，再决定是否深用。（适用：准备从试用进入真实工作流时。）

### 退出方式

- **保留安装前状态**：记录原始宿主配置和项目状态，后续才能判断是否可恢复。
- **准备移除宿主 plugin / Skill / 规则入口**：如果试装后行为异常，可以把宿主 AI 恢复到试装前状态。
- **记录安装命令和写入路径**：没有明确卸载说明时，至少要知道哪些目录或配置需要手动清理。
- **准备撤销测试 API key 或 token**：测试凭证泄露或误用时，可以快速止损。
- **如果没有回滚路径，不进入主力环境**：不可回滚是继续前阻断项，不应靠信任或运气继续。

## 哪些只能预览

- 解释项目适合谁和能做什么
- 基于项目文档演示典型对话流程
- 帮助用户判断是否值得安装或继续研究

## 哪些必须安装后验证

- 真实安装 Skill、插件或 CLI
- 执行脚本、修改本地文件或访问外部服务
- 验证真实输出质量、性能和兼容性

## 边界与风险判断卡

- **把安装前预览误认为真实运行**：用户可能高估项目已经完成的配置、权限和兼容性验证。 处理方式：明确区分 prompt_preview_can_do 与 runtime_required。 Claim：`clm_0008` inferred 0.45
- **命令执行会修改本地环境**：安装命令可能写入用户主目录、宿主插件目录或项目配置。 处理方式：先在隔离环境或测试账号中运行。 证据：`README.md` Claim：`clm_0009` supported 0.86
- **待确认**：真实安装后是否与用户当前宿主 AI 版本兼容？。原因：兼容性只能通过实际宿主环境验证。
- **待确认**：项目输出质量是否满足用户具体任务？。原因：安装前预览只能展示流程和边界，不能替代真实评测。
- **待确认**：安装命令是否需要网络、权限或全局写入？。原因：这影响企业环境和个人环境的安装风险。

## 开工前工作上下文

### 加载顺序

- 先读取 how_to_use.host_ai_instruction，建立安装前判断资产的边界。
- 读取 claim_graph_summary，确认事实来自 Claim/Evidence Graph，而不是 Human Wiki 叙事。
- 再读取 intended_users、capabilities 和 quick_start_candidates，判断用户是否匹配。
- 需要执行具体任务时，优先查 role_skill_index，再查 evidence_index。
- 遇到真实安装、文件修改、网络访问、性能或兼容性问题时，转入 risk_card 和 boundaries.runtime_required。

### 任务路由

- **AI Skill / Agent 指令资产库**：先基于 role_skill_index / evidence_index 帮用户挑选可用角色、Skill 或工作流。 边界：可做安装前 Prompt 体验。 证据：`.claude/skills/build-cli/SKILL.md`, `.claude/skills/github-pr-review-fix/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md`, `Unity-MCP-Plugin/.claude/skills/assets-create-folder/SKILL.md` 等 Claim：`clm_0001` supported 0.86
- **命令行启动或安装流程**：先说明这是安装后验证能力，再给出安装前检查清单。 边界：必须真实安装或运行后验证。 证据：`README.md` Claim：`clm_0002` supported 0.86

### 上下文规模

- 文件总数：2101
- 重要文件覆盖：40/2101
- 证据索引条目：88
- 角色 / Skill 条目：80

### 证据不足时的处理

- **missing_evidence**：说明证据不足，要求用户提供目标文件、README 段落或安装后验证记录；不要补全事实。
- **out_of_scope_request**：说明该任务超出当前 AI Context Pack 证据范围，并建议用户先查看 Human Manual 或真实安装后验证。
- **runtime_request**：给出安装前检查清单和命令来源，但不要替用户执行命令或声称已执行。
- **source_conflict**：同时展示冲突来源，标记为待核实，不要强行选择一个版本。

## Prompt Recipes

### 适配判断

- 目标：判断这个项目是否适合用户当前任务。
- 预期输出：适配结论、关键理由、证据引用、安装前可预览内容、必须安装后验证内容、下一步建议。

```text
请基于 unity-mcp 的 AI Context Pack，先问我 3 个必要问题，然后判断它是否适合我的任务。回答必须包含：适合谁、能做什么、不能做什么、是否值得安装、证据来自哪里。所有项目事实必须引用 evidence_refs、source_paths 或 claim_id。
```

### 安装前体验

- 目标：让用户在安装前感受核心工作流，同时避免把预览包装成真实能力或营销承诺。
- 预期输出：一段带边界标签的体验剧本、安装后验证清单和谨慎建议；不含真实运行承诺或强营销表述。

```text
请把 unity-mcp 当作安装前体验资产，而不是已安装工具或真实运行环境。

请严格输出四段：
1. 先问我 3 个必要问题。
2. 给出一段“体验剧本”：用 [安装前可预览]、[必须安装后验证]、[证据不足] 三种标签展示它可能如何引导工作流。
3. 给出安装后验证清单：列出哪些能力只有真实安装、真实宿主加载、真实项目运行后才能确认。
4. 给出谨慎建议：只能说“值得继续研究/试装”“先补充信息后再判断”或“不建议继续”，不得替项目背书。

硬性边界：
- 不要声称已经安装、运行、执行测试、修改文件或产生真实结果。
- 不要写“自动适配”“确保通过”“完美适配”“强烈建议安装”等承诺性表达。
- 如果描述安装后的工作方式，必须使用“如果安装成功且宿主正确加载 Skill，它可能会……”这种条件句。
- 体验剧本只能写成“示例台词/假设流程”：使用“可能会询问/可能会建议/可能会展示”，不要写“已写入、已生成、已通过、正在运行、正在生成”。
- Prompt Preview 不负责给安装命令；如用户准备试装，只能提示先阅读 Quick Start 和 Risk Card，并在隔离环境验证。
- 所有项目事实必须来自 supported claim、evidence_refs 或 source_paths；inferred/unverified 只能作风险或待确认项。

```

### 角色 / Skill 选择

- 目标：从项目里的角色或 Skill 中挑选最匹配的资产。
- 预期输出：候选角色或 Skill 列表，每项包含适用场景、证据路径、风险边界和是否需要安装后验证。

```text
请读取 role_skill_index，根据我的目标任务推荐 3-5 个最相关的角色或 Skill。每个推荐都要说明适用场景、可能输出、风险边界和 evidence_refs。
```

### 风险预检

- 目标：安装或引入前识别环境、权限、规则冲突和质量风险。
- 预期输出：环境、权限、依赖、许可、宿主冲突、质量风险和未知项的检查清单。

```text
请基于 risk_card、boundaries 和 quick_start_candidates，给我一份安装前风险预检清单。不要替我执行命令，只说明我应该检查什么、为什么检查、失败会有什么影响。
```

### 宿主 AI 开工指令

- 目标：把项目上下文转成一次对话开始前的宿主 AI 指令。
- 预期输出：一段边界明确、证据引用明确、适合复制给宿主 AI 的开工前指令。

```text
请基于 unity-mcp 的 AI Context Pack，生成一段我可以粘贴给宿主 AI 的开工前指令。这段指令必须遵守 not_runtime=true，不能声称项目已经安装、运行或产生真实结果。
```

## 角色 / Skill 索引

- 共索引 80 个角色 / Skill / 项目文档条目。

- **build-cli**（skill）：Build the unity-mcp-cli TypeScript CLI tool and link it globally for terminal use. 激活提示：当用户任务与“build-cli”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`.claude/skills/build-cli/SKILL.md`
- **github-pr-review-fix**（skill）：Review and resolve PR comments from GitHub. Validates each comment, fixes legitimate issues. 激活提示：当用户任务与“github-pr-review-fix”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`.claude/skills/github-pr-review-fix/SKILL.md`
- **assets-copy**（skill）：Copy assets at given paths and store them at new paths. Refreshes the AssetDatabase at the end. Use 'assets-find' to locate the source assets first. 激活提示：当用户任务与“assets-copy”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md`
- **assets-create-folder**（skill）：Create a new folder under a parent folder inside 'Assets/'. The parent path must start with 'Assets/' and every intermediate folder in it must already exist. Refreshes the AssetDatabase at the end and returns the GUID s of the created folder s . 激活提示：当用户任务与“assets-create-folder”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-create-folder/SKILL.md`
- **assets-delete**（skill）：Delete the assets at the given project paths. Refreshes the AssetDatabase at the end. Use 'assets-find' to locate the assets first. 激活提示：当用户任务与“assets-delete”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-delete/SKILL.md`
- **assets-find-built-in**（skill）：Search the built-in assets of the Unity Editor located at Resources/unity builtin extra . Filters by name and/or type; built-in assets have no GUID so GUID-based lookups are not supported. 激活提示：当用户任务与“assets-find-built-in”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-find-built-in/SKILL.md`
- **assets-find**（skill）：Search the Unity asset database using a search filter string. The filter accepts names, labels l: , types t: , AssetBundles b: , areas a: , and globs glob: . See the body for the full filter syntax. 激活提示：当用户任务与“assets-find”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-find/SKILL.md`
- **assets-get-data**（skill）：Get asset data from the asset file in the Unity project — every serializable field and property. Supports token-saving path-scoped reads via paths or viewQuery . Use 'assets-find' to find the asset first. 激活提示：当用户任务与“assets-get-data”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-get-data/SKILL.md`
- **assets-material-create**（skill）：Create a new Material asset with default parameters at a given 'Assets/'-rooted path ending in '.mat'. Creates intermediate folders if missing. Use 'assets-shader-list-all' to find a valid shaderName . 激活提示：当用户任务与“assets-material-create”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-material-create/SKILL.md`
- **assets-modify**（skill）：Modify an asset file in the project. Use 'assets-get-data' first to inspect the asset structure before modifying. Not allowed to modify asset files in the 'Packages/' folder — modify them in 'Assets/'. Three modification surfaces are available content, pathPatches, jsonPatch — see the skill body for details. 激活提示：当用户任务与“assets-modify”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-modify/SKILL.md`
- **assets-move**（skill）：Move or rename assets at the given project paths. Refreshes the AssetDatabase at the end. Use 'assets-find' to locate the assets first. 激活提示：当用户任务与“assets-move”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-move/SKILL.md`
- **assets-prefab-close**（skill）：Close the currently opened prefab edit stage. Optionally saves changes back to the prefab asset before closing. Pair with 'assets-prefab-open' to enter the edit mode first. 激活提示：当用户任务与“assets-prefab-close”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-close/SKILL.md`
- **assets-prefab-create**（skill）：Create a Prefab or Prefab Variant at a project asset path. Source can be a scene GameObject gameObjectRef or an existing prefab asset sourcePrefabAssetPath . Creates intermediate folders if missing. Use 'gameobject-find' to locate the source GameObject first. 激活提示：当用户任务与“assets-prefab-create”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-create/SKILL.md`
- **assets-prefab-instantiate**（skill）：Instantiate a prefab into the currently active scene at an optional position/rotation/scale, parented under an optional scene GameObject path. Use 'assets-find' to locate the prefab asset first. 激活提示：当用户任务与“assets-prefab-instantiate”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-instantiate/SKILL.md`
- **assets-prefab-open**（skill）：Open the prefab edit stage for a prefab instance or prefab asset GameObject. Modifications inside the edit stage propagate to all instances. Pair with 'assets-prefab-close' to exit the stage when done. 激活提示：当用户任务与“assets-prefab-open”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-open/SKILL.md`
- **assets-prefab-save**（skill）：Save the currently opened prefab edit stage back to its prefab asset without exiting the stage. Pair with 'assets-prefab-open' to enter the edit mode first. 激活提示：当用户任务与“assets-prefab-save”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-save/SKILL.md`
- **assets-refresh**（skill）：Refresh the Unity AssetDatabase. Use after files were added or updated outside of the Unity API, or to force script recompilation when a '.cs' file changed. Returns a processing/success response and waits for compilation when triggered. 激活提示：当用户任务与“assets-refresh”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-refresh/SKILL.md`
- **assets-shader-get-data**（skill）：Get detailed data about a shader asset — properties, subshaders, passes, compilation messages, and supported status. Supports token-saving path-scoped reads via paths or viewQuery . Use 'assets-find' with t:Shader or 'assets-shader-list-all' to locate the shader first. 激活提示：当用户任务与“assets-shader-get-data”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-shader-get-data/SKILL.md`
- **assets-shader-list-all**（skill）：List all shaders available in the project assets and packages, sorted by name. Use this to discover a valid shaderName for 'assets-material-create'. 激活提示：当用户任务与“assets-shader-list-all”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/assets-shader-list-all/SKILL.md`
- **console-clear-logs**（skill）：Clear the MCP log cache used by 'console-get-logs' and the Unity Editor Console window. Useful for isolating logs to a specific action by clearing the slate first. 激活提示：当用户任务与“console-clear-logs”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/console-clear-logs/SKILL.md`
- **console-get-logs**（skill）：Retrieve Unity Editor logs from the MCP plugin's LogCollector , optionally filtered by log type or time window. Useful for debugging and monitoring Editor activity. 激活提示：当用户任务与“console-get-logs”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/console-get-logs/SKILL.md`
- **editor-application-get-state**（skill）：Return the current state of UnityEditor.EditorApplication — playmode, paused state, compilation state, and related flags. 激活提示：当用户任务与“editor-application-get-state”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/editor-application-get-state/SKILL.md`
- **editor-application-set-state**（skill）：Start / stop / pause the Unity Editor 'playmode'. Use 'editor-application-get-state' to inspect the current state first. Throws if the project currently has compilation errors. 激活提示：当用户任务与“editor-application-set-state”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/editor-application-set-state/SKILL.md`
- **editor-selection-get**（skill）：Get information about the current Selection in the Unity Editor — active object, active transform, selected GameObjects, transforms, instance IDs, and asset GUIDs each enrichment is opt-in . Pair with 'editor-selection-set' to change the selection. 激活提示：当用户任务与“editor-selection-get”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/editor-selection-get/SKILL.md`
- **editor-selection-set**（skill）：Set the current Selection in the Unity Editor to the provided objects. All ObjectRef s must resolve to existing Unity objects; otherwise the call throws. Use 'editor-selection-get' to inspect the current selection first. 激活提示：当用户任务与“editor-selection-set”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/editor-selection-set/SKILL.md`
- **gameobject-component-add**（skill）：Add one or more Components to a GameObject in the opened Prefab or active Scene. Component types are looked up by full name with namespace or by class-name fallback. Use 'gameobject-find' to locate the host GameObject and 'gameobject-component-list-all' to discover valid component type names. 激活提示：当用户任务与“gameobject-component-add”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-add/SKILL.md`
- **gameobject-component-destroy**（skill）：Destroy one or more Components from a target GameObject. Missing null components are skipped — they cannot be destroyed. Use 'gameobject-find' and 'gameobject-component-get' to identify the components first. 激活提示：当用户任务与“gameobject-component-destroy”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-destroy/SKILL.md`
- **gameobject-component-get**（skill）：Get detailed information about a specific Component on a GameObject — type, enabled state, and optionally serialized fields and properties. Supports token-saving path-scoped reads via paths or viewQuery . Use 'gameobject-find' to list components first. 激活提示：当用户任务与“gameobject-component-get”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-get/SKILL.md`
- **gameobject-component-list-all**（skill）：List the fully-qualified C type names of every concrete UnityEngine.Component subclass available in the project. Paginated default 5/page, max 500 . Use this to find a valid componentName for 'gameobject-component-add'. 激活提示：当用户任务与“gameobject-component-list-all”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-list-all/SKILL.md`
- **gameobject-component-modify**（skill）：Modify a specific Component on a GameObject in opened Prefab or in a Scene. Allows direct modification of component fields and properties without wrapping in GameObject structure. Use 'gameobject-component-get' first to inspect the component structure before modifying. Three modification surfaces are available componentDiff, pathPatches, jsonPatch — see the skill body for details. 激活提示：当用户任务与“gameobject-component-modify”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-modify/SKILL.md`
- **gameobject-create**（skill）：Create a new GameObject in the currently opened Prefab or active Scene, optionally parented under another GameObject and pre-positioned. Pass primitiveType to spawn a Unity primitive Cube, Sphere, etc. instead of an empty GameObject. 激活提示：当用户任务与“gameobject-create”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-create/SKILL.md`
- **gameobject-destroy**（skill）：Destroy a GameObject and all nested children in the currently opened Prefab or active Scene. Returns the destroyed GameObject's name, path, and instance ID for confirmation. Use 'gameobject-find' to locate the target first. 激活提示：当用户任务与“gameobject-destroy”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-destroy/SKILL.md`
- **gameobject-duplicate**（skill）：Duplicate a batch of GameObjects in the currently opened Prefab or active Scene. Marks each affected scene as dirty after duplication. Use 'gameobject-find' to locate the source GameObjects first. 激活提示：当用户任务与“gameobject-duplicate”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-duplicate/SKILL.md`
- **gameobject-find**（skill）：Find a specific GameObject in the opened Prefab preferred when present or the active Scene. Optionally include editable data, components preview, bounds, and limited hierarchy. Supports token-saving path-scoped reads via paths or viewQuery . 激活提示：当用户任务与“gameobject-find”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-find/SKILL.md`
- **gameobject-modify**（skill）：Modify GameObject fields and properties in opened Prefab or in a Scene. You can modify multiple GameObjects at once. Just provide the same number of GameObject references and SerializedMember objects. Three modification surfaces are available per GameObject gameObjectDiffs, pathPatchesPerGameObject, jsonPatchesPerGameObject — see the skill body for details. 激活提示：当用户任务与“gameobject-modify”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-modify/SKILL.md`
- **gameobject-set-parent**（skill）：Reparent a batch of GameObjects under a new parent in the currently opened Prefab or active Scene. Per-item failures are reported in the returned status string instead of aborting the batch. Use 'gameobject-find' to locate the GameObjects first. 激活提示：当用户任务与“gameobject-set-parent”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-set-parent/SKILL.md`
- **object-get-data**（skill）：Get serialized data for a Unity UnityEngine.Object — all serializable fields and properties. Supports token-saving path-scoped reads via paths or viewQuery . Pair with 'object-modify' when you need to write back. 激活提示：当用户任务与“object-get-data”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/object-get-data/SKILL.md`
- **object-modify**（skill）：Modify a Unity UnityEngine.Object 's serializable fields/properties. Three modification surfaces are available objectDiff , pathPatches , jsonPatch — see the skill body. Use 'object-get-data' first to inspect the object structure. 激活提示：当用户任务与“object-modify”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/object-modify/SKILL.md`
- **package-add**（skill）：Install a Unity package from the registry, a Git URL, or a local path. Modifies manifest.json and triggers package resolution; may also trigger a domain reload — the final result is delivered after the reload via the request's requestId . Use 'package-search' / 'package-list' for discovery first. 激活提示：当用户任务与“package-add”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/package-add/SKILL.md`
- **package-list**（skill）：List all UPM packages installed in the Unity project — name, version, source, description. Optionally filter by source registry, embedded, local, git, built-in, local tarball , by name/display/description substring, and by direct-dependency-only. 激活提示：当用户任务与“package-list”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/package-list/SKILL.md`
- **package-remove**（skill）：Uninstall a UPM package from the Unity project. Modifies manifest.json and may trigger a domain reload — the final result is delivered after the reload via the request's requestId . Built-in packages and packages that are dependencies of others cannot be removed. Use 'package-list' to list installed packages first. 激活提示：当用户任务与“package-remove”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/package-remove/SKILL.md`
- **package-search**（skill）：Search Unity's package registry plus locally installed packages Git, local, embedded sources by query string. Returns available versions and installation status. Online mode fetches exact matches from the live registry then supplements with cached substring matches. 激活提示：当用户任务与“package-search”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/package-search/SKILL.md`
- **ping**（skill）：Lightweight readiness probe. Returns the input message echoed back, or 'pong' when omitted. Useful for CLI health checks and SignalR connectivity smoke tests. 激活提示：当用户任务与“ping”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/ping/SKILL.md`
- **profiler-capture-frame**（skill）：Capture the current frame's timing info delta time, FPS, frame counts, runtime . Snapshot only — historical frames live in Unity's Profiler window. 激活提示：当用户任务与“profiler-capture-frame”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-capture-frame/SKILL.md`
- **profiler-clear-data**（skill）：Discard all frames currently held by the Editor Profiler UnityEditorInternal.ProfilerDriver.ClearAllFrames . Cannot be undone. 激活提示：当用户任务与“profiler-clear-data”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-clear-data/SKILL.md`
- **profiler-enable-module**（skill）：Toggle the wrapper's local 'enabled' flag for a named profiler module. Bookkeeping only — Unity's runtime API does not expose direct module control; for real module visibility use the Profiler window. 激活提示：当用户任务与“profiler-enable-module”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-enable-module/SKILL.md`
- **profiler-get-memory-stats**（skill）：Return memory statistics snapshot from UnityEngine.Profiling.Profiler — reserved, allocated, mono heap, graphics, etc. in MB . 激活提示：当用户任务与“profiler-get-memory-stats”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-get-memory-stats/SKILL.md`
- **profiler-get-rendering-stats**（skill）：Return current frame timing, FPS, vsync, target frame rate, threading mode, and graphics device type from Unity Time / QualitySettings / SystemInfo. 激活提示：当用户任务与“profiler-get-rendering-stats”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-get-rendering-stats/SKILL.md`
- **profiler-get-script-stats**（skill）：Return script execution timing frame time, fixed dt, time scale, frame count, runtime plus Mono / GC memory usage in MB. 激活提示：当用户任务与“profiler-get-script-stats”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-get-script-stats/SKILL.md`
- **profiler-get-status**（skill）：Return the Unity profiler's current enabled state, active modules, max-used memory, and platform support flag. Read-only. 激活提示：当用户任务与“profiler-get-status”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-get-status/SKILL.md`
- **profiler-list-modules**（skill）：List all known profiler module names with their local 'enabled' bookkeeping flag. 激活提示：当用户任务与“profiler-list-modules”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-list-modules/SKILL.md`
- **profiler-load-data**（skill）：Read back a previously-saved JSON snapshot from profiler-save-data and return its raw text. 激活提示：当用户任务与“profiler-load-data”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-load-data/SKILL.md`
- **profiler-save-data**（skill）：Save a snapshot of profiler-derived stats status + memory + rendering + script + frame capture to a JSON file. Built-in Unity APIs only. 激活提示：当用户任务与“profiler-save-data”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-save-data/SKILL.md`
- **profiler-start**（skill）：Enable Unity's runtime profiler and open the Profiler window. Idempotent: calling when already enabled returns the current enabled state without error. 激活提示：当用户任务与“profiler-start”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-start/SKILL.md`
- **profiler-stop**（skill）：Disable Unity's runtime profiler. Idempotent — calling when already disabled returns the current disabled state. 激活提示：当用户任务与“profiler-stop”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/profiler-stop/SKILL.md`
- **reflection-method-call**（skill）：Call a C method by reflection — including private methods. Requires a method schema obtained via 'reflection-method-find'. Supports static methods, instance methods with optional target deserialization , and main-thread / off-thread execution. 激活提示：当用户任务与“reflection-method-call”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/reflection-method-call/SKILL.md`
- **reflection-method-find**（skill）：Find C methods across every loaded assembly by name / type / parameters — including private methods. Returns serialized MethodData entries usable as schemas for 'reflection-method-call'. 激活提示：当用户任务与“reflection-method-find”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/reflection-method-find/SKILL.md`
- **scene-create**（skill）：Create a new Unity scene asset and save it at the given .unity path. Use 'scene-list-opened' to inspect the resulting opened-scene set afterwards. 激活提示：当用户任务与“scene-create”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/scene-create/SKILL.md`
- **scene-get-data**（skill）：Retrieve the list of root GameObjects in the specified opened scene or the active scene when openedSceneName is empty . Supports token-saving path-scoped reads over the root-GameObjects array via paths or viewQuery . Use 'scene-list-opened' to enumerate scenes. 激活提示：当用户任务与“scene-get-data”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/scene-get-data/SKILL.md`
- **scene-list-opened**（skill）：List every scene currently opened in the Unity Editor as a shallow snapshot name, path, build flags . Use 'scene-get-data' for the deep view of a specific scene. 激活提示：当用户任务与“scene-list-opened”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/scene-list-opened/SKILL.md`
- **scene-open**（skill）：Open a Unity scene asset in Single or Additive mode. Returns the post-open list of all opened scenes. Use 'assets-find' to locate the scene asset first. 激活提示：当用户任务与“scene-open”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/scene-open/SKILL.md`
- **scene-save**（skill）：Save an opened scene back to its asset file or to a new path when path is provided . When openedSceneName is empty, saves the currently active scene. Use 'scene-list-opened' to find the scene name first. 激活提示：当用户任务与“scene-save”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/scene-save/SKILL.md`
- **scene-set-active**（skill）：Mark an opened scene as the Editor's active scene the one new GameObjects are added to and that's used as the default for many operations . Use 'scene-list-opened' to enumerate opened scenes first. 激活提示：当用户任务与“scene-set-active”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/scene-set-active/SKILL.md`
- **scene-unload**（skill）：Unload an opened scene from the Unity Editor asynchronously via SceneManager.UnloadSceneAsync . Use 'scene-list-opened' to find the scene name first. 激活提示：当用户任务与“scene-unload”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/scene-unload/SKILL.md`
- **screenshot-camera**（skill）：Capture a screenshot from a Unity Camera and return it as a PNG image for direct LLM inspection. Falls back to Camera.main then any active camera when cameraRef is null. Width and height are capped to keep response size manageable. 激活提示：当用户任务与“screenshot-camera”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/screenshot-camera/SKILL.md`
- **screenshot-game-view**（skill）：Capture a screenshot of the Unity Editor's Game View by reading its internal render texture directly. Image size matches the current Game View resolution; the tool corrects Y-flip on DirectX / Metal so the output is always upright. Requires an open Game View window. 激活提示：当用户任务与“screenshot-game-view”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/screenshot-game-view/SKILL.md`
- **screenshot-isolated**（skill）：Render a target GameObject from a chosen camera angle with optional layer-based isolation, configurable background solid/skybox/transparent , multi-light setup via JSON, and Composite 2x2 Front/Right/Back/Top mode. Returns a PNG image. When isolated=true, inactive children may briefly fire OnEnable — see the body for side-effect notes. 激活提示：当用户任务与“screenshot-isolated”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/screenshot-isolated/SKILL.md`
- **screenshot-scene-view**（skill）：Capture a screenshot from the Unity Editor Scene View at the requested size. Renders via the Scene View's active camera onto a temporary RenderTexture . Requires an open Scene View. 激活提示：当用户任务与“screenshot-scene-view”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/screenshot-scene-view/SKILL.md`
- **script-delete**（skill）：Delete one or more .cs script files from disk, refresh the AssetDatabase, and wait for Unity compilation to settle before delivering the final result via the request's requestId . Pair with 'script-read' to inspect files before deletion. 激活提示：当用户任务与“script-delete”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/script-delete/SKILL.md`
- **script-execute**（skill）：Compiles and executes C code dynamically using Roslyn. Supports a full-code mode default and a body-only mode — see the skill body for the difference and for how to pass Unity object references as parameters. 激活提示：当用户任务与“script-execute”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/script-execute/SKILL.md`
- **script-read**（skill）：Read a .cs script file and return its content as a string. Supports a 1-based lineFrom / lineTo slice for partial reads. Pair with 'script-update-or-create' to write back. 激活提示：当用户任务与“script-read”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/script-read/SKILL.md`
- **script-update-or-create**（skill）：Write a .cs script file create or overwrite with the provided C code. Validates syntax via Roslyn before write — invalid code is rejected with error details and the file is left untouched. Refreshes the AssetDatabase and delivers the final result via requestId after Unity finishes the triggered compilation. Use 'script-read' to inspect existing content first. 激活提示：当用户任务与“script-update-or-create”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/script-update-or-create/SKILL.md`
- **tests-run**（skill）：Execute Unity tests EditMode or PlayMode and return per-test results. Supports filtering by test assembly, namespace, class, and method. Refreshes the AssetDatabase first; defers execution across domain reloads if scripts changed. Precondition: every open scene must be saved — dirty scenes abort the run. 激活提示：当用户任务与“tests-run”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/tests-run/SKILL.md`
- **tool-set-enabled-state**（skill）：Enable or disable MCP tools by name in batch. Persists the change via UnityMcpPluginEditor.Instance.Save only when at least one tool actually flipped. Returns per-input success flags plus optional operation logs. 激活提示：当用户任务与“tool-set-enabled-state”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/tool-set-enabled-state/SKILL.md`
- **type-get-json-schema**（skill）：Generate a JSON Schema for a C type name via reflection. Supports primitives, enums, arrays, generic collections, dictionaries, and complex objects. Knobs control inclusion of nested $defs and whether type-level / property-level descriptions are emitted. 激活提示：当用户任务与“type-get-json-schema”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/type-get-json-schema/SKILL.md`
- **unity-initial-setup**（skill）：- 激活提示：当用户任务与“unity-initial-setup”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/unity-initial-setup/SKILL.md`
- **unity-skill-create**（skill）：Create a new skill MCP tool for the Unity Editor by writing a C .cs file that Unity compiles into the project. After compilation the new tool becomes callable through MCP. The file must be a partial class decorated with AiToolType , each tool method must be decorated with AiTool , the class name should match the file name, all Unity API calls must run via com.IvanMurzak.ReflectorNet.Utils.MainThread.Instance.Run , a… 激活提示：当用户任务与“unity-skill-create”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/unity-skill-create/SKILL.md`
- **unity-skill-generate**（skill）：Regenerate every SKILL.md from the project's currently-registered MCP tools into the configured skills folder or a project-relative override path . Writes the YAML description: from AiSkillDescription and the body from AiSkillBody . 激活提示：当用户任务与“unity-skill-generate”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/unity-skill-generate/SKILL.md`
- **unity-tool-list**（skill）：List all Unity-MCP tools registered in the connected Unity Editor instance. Optional regex filter matches against tool name, description, and argument names/descriptions. Use the includeDescription / includeInputs toggles to control the response size. 激活提示：当用户任务与“unity-tool-list”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/unity-tool-list/SKILL.md`
- **unity-version-split**（skill）：Split a C file into Unity 6.5+ and pre-Unity 6.5 variants. Use when a file needs different implementations for different Unity versions due to API changes e.g., EntityId vs int, GetEntityId vs GetInstanceID . 激活提示：当用户任务与“unity-version-split”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`Unity-MCP-Plugin/.claude/skills/unity-version-split/SKILL.md`

## 证据索引

- 共索引 88 条证据。

- **! AI Game Developer — Unity MCP https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/img/promo/hazzard-features.svg?r…**（documentation）：✨ AI Game Developer — Unity SKILLS, MCP 证据：`README.md`
- **! AI Game Developer — Unity SKILLS and MCP https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/img/promo/hazzard-fea…**（documentation）：! npm https://img.shields.io/npm/v/unity-mcp-cli?label=npm&labelColor=333A41 'npm package' https://www.npmjs.com/package/unity-mcp-cli ! Node.js https://img.shields.io/badge/Node.js-%5E20.19.0%20%7C%7C%20%3E%3D22.12.0-5FA04E?logo=nodedotjs&labelColor=333A41 'Node.js' https://nodejs.org/ ! License https://img.shields.io/github/license/IvanMurzak/Unity-MCP?label=License&labelColor=333A41 https://github.com/IvanMurzak/Unity-MCP/blob/main/LICENSE ! Stand With Ukraine https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg https://stand-with-ukraine.pp.ua 证据：`cli/README.md`
- **! AI Game Developer — Unity MCP https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/img/promo/hazzard-features.svg?r…**（documentation）：✨ AI Game Developer — Unity SKILLS, MCP 证据：`Installer/Assets/com.IvanMurzak/AI Game Dev Installer/README.md`
- **! AI Game Developer — Unity MCP https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/img/promo/hazzard-features.svg?r…**（documentation）：✨ AI Game Developer — Unity SKILLS, MCP 证据：`Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/README.md`
- **Package**（package_manifest）：{ "name": "unity-mcp-cli", "version": "0.82.1", "description": "Cross-platform CLI tool for AI Game Developer Skills & MCP . Full AI develop and test loop. Efficient token usage, advanced tools. Creates Unity project, installs plugins, configures tools, and manages HTTP connection with Unity Editor and a game made with Unity. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.", "type": "module", "main": "dist/lib.js", "types": "dist/lib.d.ts", "exports": { ".": { "types": "./dist/lib.d.ts", "import": "./dist/lib.js" }, "./cli": { "types": "./dist/cli.d.ts", "import": "./dist/cli.js" } }, "bin": { "unity-mcp-cli": "bin/unity-mcp-cli.js" }, "files": "dist", "bi… 证据：`cli/package.json`
- **Package**（package_manifest）：{ "name": "com.ivanmurzak.unity.mcp", "displayName": "AI Game Developer — MCP", "author": { "name": "Ivan Murzak", "url": "https://github.com/IvanMurzak" }, "keywords": "AI", "AI Skills", "AI Tools", "AI Integration", "Skills", "MCP", "Unity MCP", "Unity Skills" , "version": "0.82.1", "unity": "2022.3", "description": "AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.", "documentationUrl": "https://github.com/IvanMurzak/Unity-MCP/blob/main/README.md", "changelog… 证据：`Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/package.json`
- **CLAUDE.md**（documentation）：Unity-MCP bridges LLMs Claude, Cursor, Copilot, etc. with Unity Editor and Runtime via the Model Context Protocol https://modelcontextprotocol.io/ . Sub-projects: Unity-MCP-Plugin/ Unity Editor/Runtime plugin , cli/ , Installer/ , Unity-Tests/ . 证据：`CLAUDE.md`
- **CLAUDE.md**（documentation）：Unity-MCP Plugin — Unity Editor/Runtime side of the MCP bridge. Attribute-based framework that registers and executes MCP tools, prompts, and resources. Includes a self-hosted MCP server manager and auto-configuration for AI clients. 证据：`Unity-MCP-Plugin/CLAUDE.md`
- **Build CLI**（skill_instruction）：Build the unity-mcp-cli TypeScript project and optionally link it globally. 证据：`.claude/skills/build-cli/SKILL.md`
- **Review PR Comments**（skill_instruction）：Review unresolved comments on the GitHub pull request associated with the current branch. Validate each comment, then fix legitimate issues. 证据：`.claude/skills/github-pr-review-fix/SKILL.md`
- **Assets / Copy**（skill_instruction）：Copy assets at given paths and store them at new paths. Does AssetDatabase.Refresh at the end. Use 'assets-find' tool to find assets before copying. 证据：`Unity-MCP-Plugin/.claude/skills/assets-copy/SKILL.md`
- **Assets / Create Folder**（skill_instruction）：Creates a new folder in the specified parent folder. The parent folder string must start with the 'Assets' folder, and all folders within the parent folder string must already exist. For example, when specifying 'Assets/ParentFolder1/ParentFolder2/', the new folder will be created in 'ParentFolder2' only if ParentFolder1 and ParentFolder2 already exist. Use it to organize scripts and assets in the project. Does AssetDatabase.Refresh at the end. Returns the GUID of the newly created folder, if successful. 证据：`Unity-MCP-Plugin/.claude/skills/assets-create-folder/SKILL.md`
- **Assets / Delete**（skill_instruction）：Delete the assets at paths from the project. Does AssetDatabase.Refresh at the end. Use 'assets-find' tool to find assets before deleting. 证据：`Unity-MCP-Plugin/.claude/skills/assets-delete/SKILL.md`
- **Assets / Find Built-in**（skill_instruction）：Search the built-in assets of the Unity Editor located in the built-in resources: Resources/unity builtin extra. Doesn't support GUIDs since built-in assets do not have them. 证据：`Unity-MCP-Plugin/.claude/skills/assets-find-built-in/SKILL.md`
- **Assets / Find**（skill_instruction）：Search the asset database using the search filter string. Allows you to search for Assets. The string argument can provide names, labels or types classnames . 证据：`Unity-MCP-Plugin/.claude/skills/assets-find/SKILL.md`
- **Assets / Get Data**（skill_instruction）：Get asset data from the asset file in the Unity project. It includes all serializable fields and properties of the asset. Use 'assets-find' tool to find asset before using this tool. 证据：`Unity-MCP-Plugin/.claude/skills/assets-get-data/SKILL.md`
- **Assets / Create Material**（skill_instruction）：Create new material asset with default parameters. Creates folders recursively if they do not exist. Provide proper 'shaderName' - use 'assets-shader-list-all' tool to find available shaders. 证据：`Unity-MCP-Plugin/.claude/skills/assets-material-create/SKILL.md`
- **Assets / Modify**（skill_instruction）：1. content — full SerializedMember override legacy, backwards compatible . 2. pathPatches — list of {path, value} pairs routed through Reflector.TryModifyAt . 3. jsonPatch — JSON Merge Patch routed through Reflector.TryPatch . 证据：`Unity-MCP-Plugin/.claude/skills/assets-modify/SKILL.md`
- **Assets / Move**（skill_instruction）：Move the assets at paths in the project. Should be used for asset rename. Does AssetDatabase.Refresh at the end. Use 'assets-find' tool to find assets before moving. 证据：`Unity-MCP-Plugin/.claude/skills/assets-move/SKILL.md`
- **Assets / Prefab / Close**（skill_instruction）：Close currently opened prefab. Use it when you are in prefab editing mode in Unity Editor. Use 'assets-prefab-open' tool to open a prefab first. 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-close/SKILL.md`
- **Assets / Prefab / Create**（skill_instruction）：Create a prefab from a GameObject in the current active scene. The prefab will be saved in the project assets at the specified path. Creates folders recursively if they do not exist. If the source GameObject is already a prefab instance and 'connectGameObjectToPrefab' is true, a Prefab Variant is created automatically. To create a Prefab Variant from an existing prefab asset, provide 'sourcePrefabAssetPath' instead of 'gameObjectRef'. Use 'gameobject-find' tool to find the target GameObject first. 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-create/SKILL.md`
- **Assets / Prefab / Instantiate**（skill_instruction）：Instantiates prefab in the current active scene. Use 'assets-find' tool to find prefab assets in the project. 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-instantiate/SKILL.md`
- **Assets / Prefab / Open**（skill_instruction）：Open prefab edit mode for a specific GameObject. In the Edit mode you can modify the prefab. The modification will be applied to all instances of the prefab across the project. Note: Please use 'assets-prefab-close' tool later to exit prefab editing mode. 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-open/SKILL.md`
- **Assets / Prefab / Save**（skill_instruction）：Save a prefab. Use it when you are in prefab editing mode in Unity Editor. Use 'assets-prefab-open' tool to open a prefab first. 证据：`Unity-MCP-Plugin/.claude/skills/assets-prefab-save/SKILL.md`
- **Assets / Refresh**（skill_instruction）：Refreshes the AssetDatabase. Use it if any file was added or updated in the project outside of Unity API. Use it if need to force scripts recompilation when '.cs' file changed. 证据：`Unity-MCP-Plugin/.claude/skills/assets-refresh/SKILL.md`
- **Assets / Shader / Get Data**（skill_instruction）：Get detailed data about a shader asset in the Unity project. Returns shader properties, subshaders, passes, compilation errors, and supported status. Use 'assets-find' tool with filter 't:Shader' to find shaders, or 'assets-shader-list-all' tool to list all shader names. 证据：`Unity-MCP-Plugin/.claude/skills/assets-shader-get-data/SKILL.md`
- **Assets / List Shaders**（skill_instruction）：List all available shaders in the project assets and packages. Returns their names. Use this to find a shader name for 'assets-material-create' tool. 证据：`Unity-MCP-Plugin/.claude/skills/assets-shader-list-all/SKILL.md`
- **Console / Clear Logs**（skill_instruction）：Clears the MCP log cache used by console-get-logs and the Unity Editor Console window. Useful for isolating errors related to a specific action by clearing logs before performing the action. 证据：`Unity-MCP-Plugin/.claude/skills/console-clear-logs/SKILL.md`
- **Console / Get Logs**（skill_instruction）：Retrieves Unity Editor logs. Useful for debugging and monitoring Unity Editor activity. 证据：`Unity-MCP-Plugin/.claude/skills/console-get-logs/SKILL.md`
- **Editor / Application / Get State**（skill_instruction）：Returns available information about 'UnityEditor.EditorApplication'. Use it to get information about the current state of the Unity Editor application. Such as: playmode, paused state, compilation state, etc. 证据：`Unity-MCP-Plugin/.claude/skills/editor-application-get-state/SKILL.md`
- **Editor / Application / Set State**（skill_instruction）：Control the Unity Editor application state. You can start, stop, or pause the 'playmode'. Use 'editor-application-get-state' tool to get the current state first. 证据：`Unity-MCP-Plugin/.claude/skills/editor-application-set-state/SKILL.md`
- **Editor / Selection / Get**（skill_instruction）：Get information about the current Selection in the Unity Editor. Use 'editor-selection-set' tool to set the selection. 证据：`Unity-MCP-Plugin/.claude/skills/editor-selection-get/SKILL.md`
- **Editor / Selection / Set**（skill_instruction）：Set the current Selection in the Unity Editor to the provided objects. Use 'editor-selection-get' tool to get the current selection first. 证据：`Unity-MCP-Plugin/.claude/skills/editor-selection-set/SKILL.md`
- **GameObject / Component / Add**（skill_instruction）：Add Component to GameObject in opened Prefab or in a Scene. Use 'gameobject-find' tool to find the target GameObject first. Use 'gameobject-component-list-all' tool to find the component type names to add. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-add/SKILL.md`
- **GameObject / Component / Destroy**（skill_instruction）：Destroy one or many components from target GameObject. Can't destroy missed components. Use 'gameobject-find' tool to find the target GameObject and 'gameobject-component-get' to get component details first. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-destroy/SKILL.md`
- **GameObject / Component / Get**（skill_instruction）：Get detailed information about a specific Component on a GameObject. Returns component type, enabled state, and optionally serialized fields and properties. Use this to inspect component data before modifying it. Use 'gameobject-find' tool to get the list of all components on the GameObject. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-get/SKILL.md`
- **GameObject / Component / List All**（skill_instruction）：List C class names extended from UnityEngine.Component. Use this to find component type names for 'gameobject-component-add' tool. Results are paginated to avoid overwhelming responses. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-list-all/SKILL.md`
- **GameObject / Component / Modify**（skill_instruction）：1. componentDiff — full SerializedMember diff legacy, backwards compatible . 2. pathPatches — list of {path, value} pairs routed through Reflector.TryModifyAt ; atomic per-path modification, multiple entries can target different depths. 3. jsonPatch — a JSON Merge Patch RFC 7396, extended with i / key notation routed through Reflector.TryPatch ; multiple fields at any depth in a single call. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-component-modify/SKILL.md`
- **GameObject / Create**（skill_instruction）：Create a new GameObject in opened Prefab or in a Scene. If needed - provide proper 'position', 'rotation' and 'scale' to reduce amount of operations. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-create/SKILL.md`
- **GameObject / Destroy**（skill_instruction）：Destroy GameObject and all nested GameObjects recursively in opened Prefab or in a Scene. Use 'gameobject-find' tool to find the target GameObject first. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-destroy/SKILL.md`
- **GameObject / Duplicate**（skill_instruction）：Duplicate GameObjects in opened Prefab or in a Scene. Use 'gameobject-find' tool to find the target GameObjects first. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-duplicate/SKILL.md`
- **GameObject / Find**（skill_instruction）：Finds specific GameObject by provided information in opened Prefab or in a Scene. First it looks for the opened Prefab, if any Prefab is opened it looks only there ignoring a scene. If no opened Prefab it looks into current active scene. Returns GameObject information and its children. Also, it returns Components preview just for the target GameObject. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-find/SKILL.md`
- **GameObject / Modify**（skill_instruction）：Per GameObject — parallel arrays must have the same length as gameObjectRefs : 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-modify/SKILL.md`
- **GameObject / Set Parent**（skill_instruction）：Set parent GameObject to list of GameObjects in opened Prefab or in a Scene. Use 'gameobject-find' tool to find the target GameObjects first. 证据：`Unity-MCP-Plugin/.claude/skills/gameobject-set-parent/SKILL.md`
- **Object / Get Data**（skill_instruction）：Get data of the specified Unity Object. Returns serialized data of the object including its properties and fields. If need to modify the data use 'object-modify' tool. 证据：`Unity-MCP-Plugin/.claude/skills/object-get-data/SKILL.md`
- **Object / Modify**（skill_instruction）：Modify the specified Unity Object. Allows direct modification of object fields and properties. Use 'object-get-data' first to inspect the object structure before modifying. 证据：`Unity-MCP-Plugin/.claude/skills/object-modify/SKILL.md`
- **Package Manager / Add**（skill_instruction）：Install a package from the Unity Package Manager registry, Git URL, or local path. This operation modifies the project's manifest.json and triggers package resolution. Note: Package installation may trigger a domain reload. The result will be sent after the reload completes. Use 'package-search' tool to search for packages and 'package-list' to list installed packages. 证据：`Unity-MCP-Plugin/.claude/skills/package-add/SKILL.md`
- **Package Manager / List Installed**（skill_instruction）：List all packages installed in the Unity project UPM packages . Returns information about each installed package including name, version, source, and description. Use this to check which packages are currently installed before adding or removing packages. 证据：`Unity-MCP-Plugin/.claude/skills/package-list/SKILL.md`
- **Package Manager / Remove**（skill_instruction）：Remove uninstall a package from the Unity project. This removes the package from the project's manifest.json and triggers package resolution. Note: Built-in packages and packages that are dependencies of other installed packages cannot be removed. Note: Package removal may trigger a domain reload. The result will be sent after the reload completes. Use 'package-list' tool to list installed packages first. 证据：`Unity-MCP-Plugin/.claude/skills/package-remove/SKILL.md`
- **Package Manager / Search**（skill_instruction）：Search for packages in both Unity Package Manager registry and installed packages. Use this to find packages by name before installing them. Returns available versions and installation status. Searches both the Unity registry and locally installed packages including Git, local, and embedded sources . Results are prioritized: exact name match, exact display name match, name substring, display name substring, description substring. Note: Online mode fetches exact matches from live registry, then supplements with cached substring matches. 证据：`Unity-MCP-Plugin/.claude/skills/package-search/SKILL.md`
- **Ping**（skill_instruction）：Lightweight readiness probe. Returns the input message or 'pong' if omitted. 证据：`Unity-MCP-Plugin/.claude/skills/ping/SKILL.md`
- **Profiler / Capture Frame**（skill_instruction）：Reads UnityEngine.Time fields and returns them in a single struct. This tool is intentionally a single-frame snapshot — Unity's runtime API does not expose historical frame-data outside the Profiler window. 证据：`Unity-MCP-Plugin/.claude/skills/profiler-capture-frame/SKILL.md`
- **Profiler / Clear Data**（skill_instruction）：Invokes UnityEditorInternal.ProfilerDriver.ClearAllFrames on the main thread. UnityEditorInternal is a built-in editor namespace — no external Unity package is required. 证据：`Unity-MCP-Plugin/.claude/skills/profiler-clear-data/SKILL.md`
- **Profiler / Enable Module**（skill_instruction）：Adds or removes the given module name from the wrapper's EnabledModules set. This is local bookkeeping consumed by profiler-get-status and profiler-list-modules ; Unity's runtime API does not allow programmatic toggling of Profiler-window modules from a built-in namespace, so this tool intentionally does not pretend to. 证据：`Unity-MCP-Plugin/.claude/skills/profiler-enable-module/SKILL.md`
- **Profiler / Get Memory Stats**（skill_instruction）：Reads UnityEngine.Profiling.Profiler scalar memory counters and converts each from bytes to megabytes /1048576f . 证据：`Unity-MCP-Plugin/.claude/skills/profiler-get-memory-stats/SKILL.md`
- **Profiler / Get Rendering Stats**（skill_instruction）：Snapshots rendering-related fields from UnityEngine.Time , UnityEngine.QualitySettings , UnityEngine.Application and UnityEngine.SystemInfo . All values are read from built-in Unity APIs so no external Unity package is required. 证据：`Unity-MCP-Plugin/.claude/skills/profiler-get-rendering-stats/SKILL.md`
- **Profiler / Get Script Stats**（skill_instruction）：Snapshots fields from UnityEngine.Time , UnityEngine.Profiling.Profiler.GetMonoUsedSizeLong and System.GC.GetTotalMemory false . All values are produced by built-in Unity APIs. 证据：`Unity-MCP-Plugin/.claude/skills/profiler-get-script-stats/SKILL.md`
- **Profiler / Get Status**（skill_instruction）：Snapshots UnityEngine.Profiling.Profiler state and returns it in a single response. 证据：`Unity-MCP-Plugin/.claude/skills/profiler-get-status/SKILL.md`
- **Profiler / List Modules**（skill_instruction）：Returns Tool Profiler.AvailableModules projected into a ProfilerModulesData list, with each entry's Enabled field reflecting the wrapper's local bookkeeping. 证据：`Unity-MCP-Plugin/.claude/skills/profiler-list-modules/SKILL.md`
- **Profiler / Load Data**（skill_instruction）：Reads filePath as UTF-8 text and returns the file body unchanged. Caller is responsible for parsing. 证据：`Unity-MCP-Plugin/.claude/skills/profiler-load-data/SKILL.md`
- 其余 28 条证据见 `AI_CONTEXT_PACK.json` 或 `EVIDENCE_INDEX.json`。

## 宿主 AI 必须遵守的规则

- **把本资产当作开工前上下文，而不是运行环境。**：AI Context Pack 只包含证据化项目理解，不包含目标项目的可执行状态。 证据：`README.md`, `cli/README.md`, `Installer/Assets/com.IvanMurzak/AI Game Dev Installer/README.md`
- **回答用户时区分可预览内容与必须安装后才能验证的内容。**：安装前体验的消费者价值来自降低误装和误判，而不是伪装成真实运行。 证据：`README.md`, `cli/README.md`, `Installer/Assets/com.IvanMurzak/AI Game Dev Installer/README.md`

## 用户开工前应该回答的问题

- 你准备在哪个宿主 AI 或本地环境中使用它？
- 你只是想先体验工作流，还是准备真实安装？
- 你最在意的是安装成本、输出质量、还是和现有规则的冲突？

## 验收标准

- 所有能力声明都能回指到 evidence_refs 中的文件路径。
- AI_CONTEXT_PACK.md 没有把预览包装成真实运行。
- 用户能在 3 分钟内看懂适合谁、能做什么、如何开始和风险边界。

---

## Doramagic Context Augmentation

下面内容用于强化 Repomix/AI Context Pack 主体。Human Manual 只提供阅读骨架；踩坑日志会被转成宿主 AI 必须遵守的工作约束。

## Human Manual 骨架

使用规则：这里只是项目阅读路线和显著性信号，不是事实权威。具体事实仍必须回到 repo evidence / Claim Graph。

宿主 AI 硬性规则：
- 不得把页标题、章节顺序、摘要或 importance 当作项目事实证据。
- 解释 Human Manual 骨架时，必须明确说它只是阅读路线/显著性信号。
- 能力、安装、兼容性、运行状态和风险判断必须引用 repo evidence、source path 或 Claim Graph。

- **项目概述与安装 (Overview & Installation)**：importance `high`
  - source_paths: README.md, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/README.md, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/package.json, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/CHANGELOG.md, cli/README.md
- **系统架构与 MCP Server 管理 (Architecture & Server Lifecycle)**：importance `high`
  - source_paths: Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/McpServerManager.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/McpServerChecksum.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/Startup.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/Startup.Editor.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/DevControl/Startup.DevControl.cs
- **内置工具、API 与自定义扩展 (Built-in Tools, API & Extensibility)**：importance `high`
  - source_paths: docs/default-mcp-tools.md, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/API/Tool/Assets.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/API/Tool/GameObject.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/API/Tool/Scene.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/API/Tool/Script.cs
- **UI、依赖解析、部署与常见故障排查 (UI, Dependency Resolver, Deployment & Known Issues)**：importance `high`
  - source_paths: Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/UI/Window/MainWindowEditor.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/UI/Window/MainWindowEditor.McpServer.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/UI/Window/MainWindowEditor.AiAgents.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/UI/Window/MainWindowEditor.Connection.cs, Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/UI/Window/MainWindowEditor.Extensions.cs

## Repo Inspection Evidence / 源码检查证据

- repo_clone_verified: true
- repo_inspection_verified: true
- repo_commit: `ca4d80189d12b93cc389439f3a22a52ab61e5b8c`
- inspected_files: `README.md`, `docs/DOCKER_DEPLOYMENT.md`, `docs/README.es.md`, `docs/README.fa.md`, `docs/README.ja.md`, `docs/README.zh-CN.md`, `docs/_sidebar.md`, `docs/claude/architecture.md`, `docs/claude/documentation-sync.md`, `docs/claude/release.md`, `docs/claude/style.md`, `docs/default-mcp-tools.md`, `docs/dev/Development.es.md`, `docs/dev/Development.ja.md`, `docs/dev/Development.md`, `docs/dev/Development.zh-CN.md`, `docs/mcp-server.md`, `docs/openupm-signing.md`, `docs/version-management.md`

宿主 AI 硬性规则：
- 没有 repo_clone_verified=true 时，不得声称已经读过源码。
- 没有 repo_inspection_verified=true 时，不得把 README/docs/package 文件判断写成事实。
- 没有 quick_start_verified=true 时，不得声称 Quick Start 已跑通。

## Doramagic Pitfall Constraints / 踩坑约束

这些规则来自 Doramagic 发现、验证或编译过程中的项目专属坑点。宿主 AI 必须把它们当作工作约束，而不是普通说明文字。

### Constraint 1: 来源证据：MCP server binary download can leave install in broken state when GitHub

- Trigger: GitHub 社区证据显示该项目存在一个安装相关的待验证问题：MCP server binary download can leave install in broken state when GitHub
- Why it matters: 可能增加新用户试用和生产接入成本。
- Evidence: community_evidence:github | https://github.com/IvanMurzak/Unity-MCP/issues/832 | 来源讨论提到 macos 相关条件，需在安装/试用前复核。
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 2: 来源证据：Missing ReflectorNet dependency causes CS0246 compilation error

- Trigger: GitHub 社区证据显示该项目存在一个安装相关的待验证问题：Missing ReflectorNet dependency causes CS0246 compilation error
- Why it matters: 可能增加新用户试用和生产接入成本。
- Evidence: community_evidence:github | https://github.com/IvanMurzak/Unity-MCP/issues/839 | 来源讨论提到 macos 相关条件，需在安装/试用前复核。
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 3: 可能修改宿主 AI 配置

- Trigger: 项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主，或安装命令涉及用户配置目录。
- Host AI rule: 列出会写入的配置文件、目录和卸载/回滚步骤。
- Why it matters: 安装可能改变本机 AI 工具行为，用户需要知道写入位置和回滚方法。
- Evidence: capability.host_targets | https://github.com/IvanMurzak/Unity-MCP | host_targets=mcp_host, claude_code, claude, cursor, chatgpt
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 4: 来源证据：After updating to 0.82.1, server binary not downloaded on Linux

- Trigger: GitHub 社区证据显示该项目存在一个配置相关的待验证问题：After updating to 0.82.1, server binary not downloaded on Linux
- Why it matters: 可能增加新用户试用和生产接入成本。
- Evidence: community_evidence:github | https://github.com/IvanMurzak/Unity-MCP/issues/845 | 来源讨论提到 linux 相关条件，需在安装/试用前复核。
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 5: 来源证据：Two Editors on the same machine can't both hold an MCP connection (shared EditorPrefs PID key)

- Trigger: GitHub 社区证据显示该项目存在一个配置相关的待验证问题：Two Editors on the same machine can't both hold an MCP connection (shared EditorPrefs PID key)
- Why it matters: 可能增加新用户试用和生产接入成本。
- Evidence: community_evidence:github | https://github.com/IvanMurzak/Unity-MCP/issues/830 | 来源讨论提到 windows 相关条件，需在安装/试用前复核。
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 6: 来源证据：tests-run tool causes Unity Editor deadlock in v0.81.1

- Trigger: GitHub 社区证据显示该项目存在一个配置相关的待验证问题：tests-run tool causes Unity Editor deadlock in v0.81.1
- Why it matters: 可能阻塞安装或首次运行。
- Evidence: community_evidence:github | https://github.com/IvanMurzak/Unity-MCP/issues/840 | 来源讨论提到 python 相关条件，需在安装/试用前复核。
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 7: 能力判断依赖假设

- Trigger: README/documentation is current enough for a first validation pass.
- Host AI rule: 将假设转成下游验证清单。
- Why it matters: 假设不成立时，用户拿不到承诺的能力。
- Evidence: capability.assumptions | https://github.com/IvanMurzak/Unity-MCP | README/documentation is current enough for a first validation pass.
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 8: 维护活跃度未知

- Trigger: 未记录 last_activity_observed。
- Host AI rule: 补 GitHub 最近 commit、release、issue/PR 响应信号。
- Why it matters: 新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。
- Evidence: evidence.maintainer_signals | https://github.com/IvanMurzak/Unity-MCP | last_activity_observed missing
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

- Trigger: no_demo
- Evidence: downstream_validation.risk_items | https://github.com/IvanMurzak/Unity-MCP | no_demo; severity=medium
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。

### Constraint 10: 存在评分风险

- Trigger: no_demo
- Why it matters: 风险会影响是否适合普通用户安装。
- Evidence: risks.scoring_risks | https://github.com/IvanMurzak/Unity-MCP | no_demo; severity=medium
- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。
