Package Exports
- unity-mcp-cli
- unity-mcp-cli/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (unity-mcp-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Cross-platform CLI tool for Unity MCP — create projects, install plugins, configure MCP tools, and launch Unity with active MCP connections. All from a single command line.
- ✅ Create projects — scaffold new Unity projects via Unity Editor
- ✅ Install editors — install any Unity Editor version from the command line
- ✅ Install plugin — add Unity-MCP plugin to
manifest.jsonwith all required scoped registries - ✅ Remove plugin — remove Unity-MCP plugin from
manifest.json - ✅ Configure — enable/disable MCP tools, prompts, and resources
- ✅ Run tools — execute MCP tools directly from the command line
- ✅ Open & Connect — launch Unity with optional MCP environment variables for automated server connection
- ✅ Cross-platform — Windows, macOS, and Linux
- ✅ CI-friendly — auto-detects non-interactive terminals and disables spinners/colors
- ✅ Verbose mode — use
--verboseon any command for detailed diagnostic output - ✅ Version-aware — never downgrades plugin versions, resolves latest from OpenUPM
Quick Start
Run any command instantly with npx — no installation required:
npx unity-mcp-cli install-plugin /path/to/unity/projectOr install globally:
npm install -g unity-mcp-cli
unity-mcp-cli install-plugin /path/to/unity/projectRequirements: Node.js >= 18. Unity Hub is installed automatically if not found.
Contents
- Quick Start
- Commands
configure— Configure MCP tools, prompts, and resourcescreate-project— Create a new Unity projectinstall-plugin— Install Unity-MCP plugin into a projectinstall-unity— Install Unity Editor via Unity Hubopen— Open a Unity project in the Editorremove-plugin— Remove Unity-MCP plugin from a projectrun-tool— Execute an MCP tool via the HTTP API
- Global Options
- Full Automation Example
- How It Works
Commands
configure
Configure MCP tools, prompts, and resources in UserSettings/AI-Game-Developer-Config.json.
npx unity-mcp-cli configure ./MyGame --list| Option | Required | Description |
|---|---|---|
[path] |
Yes | Path to the Unity project (positional or --path) |
--list |
No | List current configuration and exit |
--enable-tools <names> |
No | Enable specific tools (comma-separated) |
--disable-tools <names> |
No | Disable specific tools (comma-separated) |
--enable-all-tools |
No | Enable all tools |
--disable-all-tools |
No | Disable all tools |
--enable-prompts <names> |
No | Enable specific prompts (comma-separated) |
--disable-prompts <names> |
No | Disable specific prompts (comma-separated) |
--enable-all-prompts |
No | Enable all prompts |
--disable-all-prompts |
No | Disable all prompts |
--enable-resources <names> |
No | Enable specific resources (comma-separated) |
--disable-resources <names> |
No | Disable specific resources (comma-separated) |
--enable-all-resources |
No | Enable all resources |
--disable-all-resources |
No | Disable all resources |
Example — enable specific tools and disable all prompts:
npx unity-mcp-cli configure ./MyGame \
--enable-tools gameobject-create,gameobject-find \
--disable-all-promptsExample — enable everything:
npx unity-mcp-cli configure ./MyGame \
--enable-all-tools \
--enable-all-prompts \
--enable-all-resourcescreate-project
Create a new Unity project using the Unity Editor.
npx unity-mcp-cli create-project /path/to/new/project| Option | Required | Description |
|---|---|---|
[path] |
Yes | Path where the project will be created (positional or --path) |
--unity <version> |
No | Unity Editor version to use (defaults to highest installed) |
Example — create a project with a specific editor version:
npx unity-mcp-cli create-project ./MyGame --unity 2022.3.62f1install-plugin
Install the Unity-MCP plugin into a Unity project's Packages/manifest.json.
npx unity-mcp-cli install-plugin ./MyGame| Option | Required | Description |
|---|---|---|
[path] |
Yes | Path to the Unity project (positional or --path) |
--plugin-version <version> |
No | Plugin version to install (defaults to latest from OpenUPM) |
This command:
- Adds the OpenUPM scoped registry with all required scopes
- Adds
com.ivanmurzak.unity.mcptodependencies - Never downgrades — if a higher version is already installed, it is preserved
Example — install a specific plugin version:
npx unity-mcp-cli install-plugin ./MyGame --plugin-version 0.51.6After running this command, open the project in Unity Editor to complete the package installation.
install-unity
Install a Unity Editor version via Unity Hub CLI.
npx unity-mcp-cli install-unity 6000.3.1f1| Argument / Option | Required | Description |
|---|---|---|
[version] |
No | Unity Editor version to install (e.g. 6000.3.1f1) |
--path <path> |
No | Read the required version from an existing project |
If neither argument nor option is provided, the command installs the latest stable release from Unity Hub's releases list.
Example — install the editor version that a project needs:
npx unity-mcp-cli install-unity --path ./MyGameopen
Open a Unity project in the Unity Editor. By default, sets MCP connection environment variables if connection options are provided. Use --no-connect to open without MCP connection.
npx unity-mcp-cli open ./MyGame| Option | Env Variable | Required | Description |
|---|---|---|---|
[path] |
— | Yes | Path to the Unity project (positional or --path) |
--unity <version> |
— | No | Specific Unity Editor version to use (defaults to version from project settings, falls back to highest installed) |
--no-connect |
— | No | Open without MCP connection environment variables |
--url <url> |
UNITY_MCP_HOST |
No | MCP server URL to connect to |
--keep-connected |
UNITY_MCP_KEEP_CONNECTED |
No | Force keep the connection alive |
--token <token> |
UNITY_MCP_TOKEN |
No | Authentication token |
--auth <option> |
UNITY_MCP_AUTH_OPTION |
No | Auth mode: none or required |
--tools <names> |
UNITY_MCP_TOOLS |
No | Comma-separated list of tools to enable |
--transport <method> |
UNITY_MCP_TRANSPORT |
No | Transport method: streamableHttp or stdio |
--start-server <value> |
UNITY_MCP_START_SERVER |
No | Set to true or false to control MCP server auto-start |
The editor process is spawned in detached mode — the CLI returns immediately.
Example — open with MCP connection:
npx unity-mcp-cli open ./MyGame \
--url http://localhost:8080 \
--keep-connectedExample — open without MCP connection (simple open):
npx unity-mcp-cli open ./MyGame --no-connectExample — open with authentication and specific tools:
npx unity-mcp-cli open ./MyGame \
--url http://my-server:8080 \
--token my-secret-token \
--auth required \
--tools gameobject-create,gameobject-findrun-tool
Execute an MCP tool directly via the HTTP API. The server URL and authorization token are automatically resolved from the project's config file (UserSettings/AI-Game-Developer-Config.json), based on the current connection mode (Custom or Cloud).
npx unity-mcp-cli run-tool gameobject-create ./MyGame --input '{"name":"Cube"}'| Option | Required | Description |
|---|---|---|
<tool-name> |
Yes | Name of the MCP tool to execute |
[path] |
No | Unity project path (positional or --path) — used to read config and detect port |
--url <url> |
No | Direct server URL override (bypasses config) |
--token <token> |
No | Bearer token override (bypasses config) |
--input <json> |
No | JSON string of tool arguments (defaults to {}) |
--input-file <file> |
No | Read JSON arguments from a file |
--raw |
No | Output raw JSON (no formatting, no spinner) |
URL resolution priority:
--url→ use directly- Config file →
host(Custom mode) orcloudServerUrl(Cloud mode) - Deterministic port from project path
Authorization is read automatically from the project config (token in Custom mode, cloudToken in Cloud mode). Use --token to override the config-derived token explicitly.
Example — call a tool (URL and auth from config):
npx unity-mcp-cli run-tool gameobject-find ./MyGame --input '{"query":"Player"}'Example — explicit URL override:
npx unity-mcp-cli run-tool scene-save --url http://localhost:8080Example — pipe raw JSON output:
npx unity-mcp-cli run-tool assets-list ./MyGame --raw | jq '.results'remove-plugin
Remove the Unity-MCP plugin from a Unity project's Packages/manifest.json.
npx unity-mcp-cli remove-plugin ./MyGame| Option | Required | Description |
|---|---|---|
[path] |
Yes | Path to the Unity project (positional or --path) |
This command:
- Removes
com.ivanmurzak.unity.mcpfromdependencies - Preserves scoped registries and scopes — other packages may depend on them
- No-op if the plugin is not installed
After running this command, open the project in Unity Editor to apply the change.
Global Options
These options are available on all commands:
| Option | Description |
|---|---|
-v, --verbose |
Enable verbose diagnostic output for troubleshooting |
--version |
Display CLI version |
--help |
Display help for the command |
Example — run any command with verbose output:
npx unity-mcp-cli install-plugin ./MyGame --verboseFull Automation Example
Set up a complete Unity MCP project from scratch in one script:
# 1. Create a new Unity project
npx unity-mcp-cli create-project ./MyAIGame --unity 6000.3.1f1
# 2. Install the Unity-MCP plugin
npx unity-mcp-cli install-plugin ./MyAIGame
# 3. Enable all MCP tools
npx unity-mcp-cli configure ./MyAIGame --enable-all-tools
# 4. Open the project with MCP connection
npx unity-mcp-cli open ./MyAIGame \
--url http://localhost:8080 \
--keep-connectedHow It Works
Deterministic Port
The CLI generates a deterministic port for each Unity project based on its directory path (SHA256 hash mapped to port range 20000–29999). This matches the port generation in the Unity plugin, ensuring the server and plugin automatically agree on the same port without manual configuration.
Plugin Installation
The install-plugin command modifies Packages/manifest.json directly:
- Adds the OpenUPM scoped registry (
package.openupm.com) - Registers all required scopes (
com.ivanmurzak,extensions.unity,org.nuget.*) - Adds the
com.ivanmurzak.unity.mcpdependency with version-aware updates (never downgrades)
Configuration File
The configure command reads and writes UserSettings/AI-Game-Developer-Config.json, which controls:
- Tools — MCP tools available to AI agents
- Prompts — pre-defined prompts injected into LLM conversations
- Resources — read-only data exposed to AI agents
- Connection settings — host URL, auth token, transport method, timeouts
Unity Hub Integration
Commands that manage editors or create projects use the Unity Hub CLI (--headless mode). If Unity Hub is not installed, the CLI downloads and installs it automatically:
- Windows — silent install via
UnityHubSetup.exe /S(may require administrator privileges) - macOS — downloads the DMG, mounts it, and copies
Unity Hub.appto/Applications - Linux — downloads
UnityHub.AppImageto~/Applications/
For the full Unity-MCP project documentation, see the main README.