MCP for Unity 自定义工具开发:从同步截图到轮询式长任务

MCP for Unity open-source implementation guides 2026-10-30T10:34:07.836973

解决的问题与适用场景

原文要解决的是在 Unity 中创建自定义工具,覆盖简单同步操作与能跨域重载的复杂长任务。

工具、版本与前置条件

操作步骤与工作流衔接

1. 创建静态类,添加 [McpForUnityTool] 特性并实现 HandleCommand(JObject) 方法。

2. 在嵌套 Parameters 类中用 [ToolParameter] 标注参数描述与是否必填。

3. 在 MCP 客户端中断开并重新连接 MCP 服务器,强制重新发现工具。

4. 用 CLI 列出当前 Unity 项目的自定义工具,并按名称调用。

5. 截图工具用 RenderTexture 渲染相机,读取像素并编码为 PNG 写入文件。

6. 长任务工具设置 RequiresPolling = true 与 PollAction = "status",启动时返回 PendingResponse。

7. 用 McpJobStateStore 将进度保存到 Library/ 文件夹,并在 Status 方法中返回 _mcp_status。

原作者的结果与限制

原文与来源

本文为基于原文整理的中文导读,效果与结论归属于原作者。

查看原文