本页由英文机器翻译而成。阅读英文原文。

配置

在 AI Game Developer 窗口中配置 Unity MCP——Cloud 与 Custom 模式、本地服务器、端口、传输方式、授权、工具、覆盖项以及 CI。

更新于 2026年11月4日 查看 Markdown 版本

大多数项目无需任何配置:安装插件、登录,然后为你的 agent 点击 Configure。本页介绍 AI Game Developer 窗口中每一项设置的作用、设置存储的位置、如何为自动化流程覆盖这些设置,以及插件在 CI 和播放器构建中的行为。

AI Game Developer 窗口

用 Window > AI Game Developer — MCP(Ctrl+Alt+A,macOS 上为 Cmd+Option+A)或 Scene 视图工具栏中的 AI 按钮打开它。从上到下依次包含:

  • Log Level、Timeout (ms) 和 Tool timeout (ms),以及插件 Version。
  • Connection:Custom / Cloud 切换开关以及所选模式的设置。
  • 连接时间线:Unity(带 Connect / Disconnect 按钮)、MCP server 和 AI agent。
  • AI agent 下拉菜单以及每个客户端的配置器:Model Context Protocol (MCP) 配 Configure / Remove,Skills 配 Auto-generate 和 Generate。
  • Tools、Prompts 和 Resources 计数,每一项都有一个 Open 按钮。
  • Extensions:安装可选的工具包(参见 Extensions)。
  • 帮助链接:Help / Talk(Discord)、Bug Report(GitHub issues),以及用于序列化诊断的 Check 按钮。

连接模式

Cloud(默认)

插件连接到托管服务器 https://ai-game.dev/mcp。不会启动本地服务器,URL 也不可编辑。Cloud 模式需要登录:点击 Cloud Token 旁边的 Authorize 并在浏览器中确认设备码,或者用 unity-mcp-cli login 或 AI Game Dev 应用登录一次。Revoke 会让本机上所有 AI Game Dev 工具退出登录。

Custom(本地服务器或你自己的服务器)

插件连接到 Server URL 中的地址。默认是本地服务器 http://localhost:<port>,插件会替你下载、启动和停止该服务器(gamedev-mcp-server)。你也可以填写自己托管的远程 MCP 服务器 URL。只有在 Unity 与服务器断开连接时,Server URL 才可编辑。

Custom 模式会额外提供以下设置:

  • MCP server:一个 Start / Stop 按钮和状态(Running、Starting、Stopping、Downloading,或当端口已被其他进程占用时显示 External)。如果二进制文件下载失败,会出现 Download / Retry server。
  • Transport:http(推荐)或 stdio。使用 http 时,agent 连接到正在运行的服务器,多个 agent 可以共享它,服务器也可以跑在另一台机器上。使用 stdio 时,agent 会把服务器作为自己的子进程启动,只能有一个 agent 连接,Start / Stop 按钮处于禁用状态。
  • Authorization Token:none、oauth 或 token。
    • none:服务器接受任何连接。仅在端口无法从其他机器访问时才是安全的。
    • oauth:agent 使用自己的 ai-game.dev 账号登录;服务器在线校验令牌。
    • token:一个共享密钥,完全离线。点击 New 生成令牌,然后点击 Configure(或手动把令牌复制到 agent 的配置中)。

端口

本地端口并不是 8080 这样的固定值,而是由你的项目文件夹推导出来的:对规范化后的项目路径取 SHA-256 哈希,再映射到 20000 到 29999 的范围内。同一个项目总是得到同一个端口,不同项目得到不同端口,因此多个 Unity 实例可以并行运行。CLI 使用相同的公式,因此它的命令无需额外参数就能找到正确的服务器。

要使用其他端口,请先断开连接,然后在 Server URL 中输入端口(例如 http://localhost:25000)。配置器会把你输入的端口写入 agent 配置。

配置文件

设置按用户保存在 UserSettings/AI-Game-Developer-Config.json 中,首次启动时创建。主要键如下:

键含义默认值
connectionModeCloud 或 CustomCloud
hostCustom 模式的服务器 URLhttp://localhost:<port>
tokentoken 授权模式使用的共享令牌自动生成
transportMethodstreamableHttp 或 stdiostreamableHttp
authOptionnone、oauth 或 tokennone
keepConnected自动连接到服务器true,在 CI 中为 false
keepServerRunning启动并保持本地服务器运行true,在 CI 中为 false
logLevelTrace、Debug、Information、Warning、Error、CriticalWarning
timeoutMs插件到服务器的超时时间10000
toolTimeoutMs单次工具调用可以运行多长时间300000
tools、prompts、resources每一项的可见性默认值

Cloud 凭据不保存在这里,而是存放在 ~/.ai-game-dev/credentials.json。要重新开始,请使用 Tools > AI Game Developer > Reset Config,它会恢复默认值并重新加载脚本。

工具、提示和资源

Tools 计数显示 agent 能看到多少个已安装的工具,以及它们在 AI 上下文中大约占用多少 token。点击 Open 可显示或隐藏单个工具;MCP Prompts 和 MCP Resources 窗口的工作方式相同。

隐藏的工具不会被删除:它从 agent 的工具列表中消失,但按名称调用时仍然会执行。可见工具越少,留给推理的上下文就越多。你也可以用 tool-set-visibility 工具或从终端更改可见性:

unity-mcp-cli configure ./MyUnityProject --enable-tools screenshot-scene-view,script-read
unity-mcp-cli configure ./MyUnityProject --list

环境变量与命令行覆盖

对于 CI 和脚本化启动,插件会在启动时读取以下变量(或对应的 Unity 命令行参数)。覆盖只在内存中生效,绝不会写入配置文件。

变量命令行参数取值
UNITY_MCP_CLOUD_URL-url服务器 URL(UNITY_MCP_HOST 是旧版别名)
UNITY_MCP_CONNECTION_MODE-UNITY_MCP_CONNECTION_MODECloud 或 Custom;环回地址 URL 意味着 Custom
UNITY_MCP_KEEP_CONNECTED-UNITY_MCP_KEEP_CONNECTEDtrue 或 false
UNITY_MCP_AUTH_OPTION-authnone、oauth 或 token
UNITY_MCP_TOKEN-token本地服务器令牌
UNITY_MCP_TRANSPORT-UNITY_MCP_TRANSPORTstdio 或 streamableHttp
UNITY_MCP_START_SERVER-UNITY_MCP_START_SERVERtrue 或 false
UNITY_MCP_TOOLS-UNITY_MCP_TOOLS要显示的以逗号分隔的工具 id;其余全部隐藏

命令行参数的优先级高于环境变量。下面是连接本地服务器的批处理模式编辑器的示例:

Unity -batchmode -projectPath ./MyUnityProject \
  -UNITY_MCP_CLOUD_URL=http://localhost:8080 \
  -UNITY_MCP_KEEP_CONNECTED=true \
  -UNITY_MCP_AUTH_OPTION=token \
  -UNITY_MCP_TOKEN=my-secret-token

unity-mcp-cli open 会为你设置这些变量;参见 CLI reference。

在 CI 中禁用 Unity MCP

插件会检测 CI 环境,然后跳过服务器下载和自动连接。要在普通的 CI 测试任务中完全关闭它,可使用以下两种关闭方式之一:

  • UNITY_MCP_DISABLE=1(或 true),设置在启动 Unity 的进程的环境中。插件会跳过启动流程、工具注册、服务器下载、NuGet 解析以及它的编辑器钩子。其代码仍会参与编译,因此项目仍然必须能编译通过。
  • 在 Project Settings > Player > Other Settings 中将 UNITY_MCP_EXCLUDE_FROM_COMPILATION 设为 Scripting Define Symbol。这会将所有插件程序集(以及更新过的一方可扩展组件)排除在编译之外。你自己引用了插件类型的代码需要加上 #if !UNITY_MCP_EXCLUDE_FROM_COMPILATION。

这两者都不会对 -batchmode 或 -runTests 自动启用,因为无头 MCP 会话需要该插件。

播放器构建与运行时

插件的运行时程序集会为所有平台编译,因此除非你用上面的定义符号排除它,否则它会成为播放器构建的一部分。构建产物绝不会自行连接:在游戏中,你需要在代码中通过 UnityMcpPluginRuntime.Initialize(...) 主动启用,这也是向 AI 暴露游戏内工具(例如一个 AI 国际象棋对手)的方式。参见 Custom tools。

自托管 MCP 服务器

该服务器就是共享的 GameDev-MCP-Server,同时也以 Docker 镜像 aigamedeveloper/mcp-server 发布:

docker run -p 8080:8080 aigamedeveloper/mcp-server

然后把插件设为 Custom,将 Server URL 设为 http://localhost:8080(或你的主机地址),并让你的 agent 指向同一地址。服务器支持 --port、--client-transport、--authorization 和 --idle-timeout-seconds 等设置,或对应的 MCP_PLUGIN_* 环境变量;服务器文档 列出了全部内容。