☰
Unity MCP + Codex CLI 完整教程(Windows):用 uv 搭好 config.toml 骨架
2026/9/28 18:30:06 网站建设 项目流程

1. Windows 上跑通 Unity MCP + Codex CLI 到底卡在哪

Unity MCP 是让 AI 直接操作 Unity Editor 的桥梁,Codex CLI 是命令行里的 AI 编程代理,两者通过 MCP 协议对接后,你就能在终端里让 AI 帮你创建 GameObject、读 Console 报错、改 Prefab。听起来很顺,但 Windows 上真正动手时,大部分人卡在三个地方:uv 装完找不到 uvx、Unity 插件生成的启动命令参数写错、config.toml 里同一个 server 名重复导致 Codex 直接报 duplicate key 起不来。

这篇教程只聚焦一条链路:用 uv 把 Unity MCP Server 跑起来,再在 Codex CLI 的 config.toml 里写好骨架,让 Codex 能发现并调用 Unity MCP 的工具。适合已经在 Windows 上装了 Unity、想用 Codex CLI 做 Agent 式开发、但被环境变量和路径折腾过的开发者。下面每一步都给可复制的命令和配置,跟着做就能确认连接是否真的通了。

2. 前置准备:uv、Unity MCP 插件与 Codex CLI

2.1 安装 uv 并确认 uvx 的真实路径

uv 是 Python 的包管理和运行器,Unity MCP Server 底层靠它拉起。在 PowerShell 里执行官方安装脚本:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

装完后新开一个终端,验证:

uv --version uvx --version

正常会输出类似0.11.x的版本号。这里有个高频坑:很多人以为 uvx 在.dotnet\tools或 Python 的 Scripts 目录下,实际默认装在用户目录的.local\bin。用下面命令确认真实位置:

where.exe uvx

典型输出是C:\Users\你的用户名\.local\bin\uvx.exe。把这个完整路径记下来,后面 config.toml 和启动命令都要用绝对路径,别依赖 PATH,否则 Codex 启动子进程时可能找不到。

2.2 安装 Unity MCP 插件

在 Unity 里打开Window > Package Manager,通过 Git URL 或本地包安装 CoplayDev 的 unity-mcp 插件。装好后菜单栏会出现MCP For Unity窗口。这个窗口负责生成 Server 启动命令、显示连接状态(No Session / Connected / Session Active)。

2.3 安装 Codex CLI

Codex CLI 通过 npm 全局安装:

npm install -g @openai/codex codex --version

它的配置文件默认在C:\Users\你的用户名\.codex\config.toml。如果目录不存在就手动建一个。这个文件是后面注册 MCP Server 的核心。

3. 可复制配置:启动 Unity MCP Server 与 config.toml 骨架

3.1 正确的 Unity MCP 启动命令

Unity 插件面板上点 Start Server 时,早期版本会生成带--from的错误命令,报error: unexpected argument '--from' found。原因是--from是uvx的参数,不是uv的。正确形式必须用 uvx:

C:\Users\你的用户名\.local\bin\uvx.exe --from mcpforunityserver==9.7.1 mcp-for-unity --transport http --http-url http://127.0.0.1:8080 --project-scope-tools

几个参数说明:--from mcpforunityserver==9.7.1指定包和版本,版本号按你插件实际提示的填;--transport http走 HTTP 传输;--http-url是监听地址,固定用127.0.0.1而不是localhost,因为 localhost 在部分 Windows 环境会解析成 IPv6 的::1,导致 Codex 连不上;--project-scope-tools限定工具作用域到当前项目。

执行后这个 PowerShell 窗口会一直挂着不退出,这是正常的,它就是 Server 进程,不能关。

3.2 config.toml 骨架

打开C:\Users\你的用户名\.codex\config.toml,写入:

[mcp_servers.unityMCP] url = "http://127.0.0.1:8080/mcp" startup_timeout_sec = 10 tool_timeout_sec = 60

注意url结尾要带/mcp,这是 MCP 的 HTTP 端点路径,漏了会 404。startup_timeout_sec给 10 秒足够,tool_timeout_sec给 60 秒是因为 Unity 里创建对象、跑 PlayMode 这类操作耗时较长,给太短会中途超时。

如果你要同时接多个 Unity 项目,每个项目占一个端口,配置写成:

[mcp_servers.projectA] url = "http://127.0.0.1:8080/mcp" startup_timeout_sec = 10 tool_timeout_sec = 60 [mcp_servers.projectB] url = "http://127.0.0.1:8081/mcp" startup_timeout_sec = 10 tool_timeout_sec = 60

一个端口只能对应一个 Unity 项目,项目 B 的 Server 要用--http-url http://127.0.0.1:8081另起一个进程。

4. 验证请求:确认 Codex 能发现并调用 Unity MCP

4.1 确认 Server 已就绪

先看 Unity 的 MCP For Unity 面板,状态从 No Session 变成 Connected 或 Session Active,说明 Server 和 Editor 握手成功。再在浏览器或 PowerShell 里探一下端点:

curl http://127.0.0.1:8080/mcp

能返回响应(哪怕是协议层的提示)就说明端口在监听。

4.2 让 Codex 列出工具

重启 Codex CLI,让它重新读 config.toml:

codex

进入交互后输入:

列出当前 Unity MCP 工具

如果配置正确,Codex 会返回工具清单,通常包含manage_scene、manage_gameobject、read_console、manage_asset等。看到这些名字,说明 Codex 已经通过 config.toml 发现了 unityMCP 这个 server,并且成功拉到了工具列表。

4.3 跑一个真实调用

光列工具还不够,让它实际动一下 Unity:

用 Unity MCP 在场景里创建一个名为 TestCube 的 Cube,然后读取 Console 最新日志

Codex 会调用manage_gameobject创建对象,再调read_console取日志。切回 Unity 看 Hierarchy,出现 TestCube 就代表整条链路通了:Codex CLI → MCP Client → HTTP → Unity MCP Server → Unity Editor API。

5. 本篇常见错排查

5.1 duplicate key 报错

Codex 启动时报duplicate key,几乎都是 config.toml 里[mcp_servers.unityMCP]写了两次。TOML 不允许同一张表重复定义。检查文件,只保留一个[mcp_servers.unityMCP]段,把多余的删掉。

5.2 uvx 路径不存在

报系统找不到指定的路径或uvx.exe 不是内部或外部命令,说明你写的路径不对。用where.exe uvx查真实路径,默认在.local\bin,不是.dotnet\tools。config.toml 里如果引用了启动命令,也要同步改成绝对路径。

5.3 连接超时 / 工具列表为空

Codex 里列不出工具,先确认三件事:Server 进程窗口还开着没关;url 用的是127.0.0.1不是localhost;url 结尾带了/mcp。三个都对还不行,把startup_timeout_sec调到 20 再试,有些机器首次拉起 Server 较慢。

5.4 多项目时 AI 操作错对象

同时开了 projectA 和 projectB,你让 Codex 改场景,它可能改错项目。因为 Codex 不知道你指哪个 server。指令里必须明确写「操作 projectB」,否则它会挑一个默认的。端口和项目名建议在 config.toml 里用一眼能认出的命名。

6. 把 Codex CLI 接到长期编码流里

单次对话验证通过后,如果你打算把 Unity MCP 当成日常开发的一部分,比如让 Agent 持续改场景、写脚本、修 Console 报错,建议把 Codex CLI 的接入方式固定下来,避免每次手动拼命令。TaoToken 的 Coding Plan 适合这种长期编码和 Agent 场景,接入文档里有 Codex CLI 的配置说明,API Keys 页面可以拿到密钥,模型对话页面能先验证模型是否正常响应。按文档把 key 配进 Codex 后,Unity MCP 的工具调用就能稳定跑在长期会话里,不用每次重开终端重新握手。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询