unity-mcp-cli-Referenz
Befehlsreferenz für unity-mcp-cli: Unity MCP installieren, anmelden, Agent-Konfigs schreiben, Unity headless öffnen, Tools und C# per CLI starten.
unity-mcp-cli ist das Kommandozeilen-Tool für Unity MCP. Es installiert Unity und das Plugin, meldet dich bei ai-game.dev an, schreibt KI-Agent-Konfigurationen, öffnet und schließt den Editor und ruft MCP-Tools auf oder führt C# im Editor von einem Terminal oder einem CI-Skript aus. Diese Seite listet alle Befehle und Flags in Version 1.6.2.
Installation
npm install -g unity-mcp-cliOder führe jeden Befehl ohne Installation aus: npx unity-mcp-cli <command>. Es benötigt Node.js ^20.19.0 oder >=22.12.0 und läuft unter Windows, macOS und Linux. Befehle, die Editoren verwalten, nutzen die Unity Hub CLI; fehlt Unity Hub, installiert die CLI es.
Globale Optionen, für jeden Befehl verfügbar:
| Option | Beschreibung |
|---|---|
-v, --verbose | Ausführliche Diagnoseausgabe |
-V, --version | Gibt die CLI-Version aus |
--help | Hilfe zum Befehl |
In einem nicht-interaktiven Terminal (CI) deaktiviert die CLI Spinner und Farben automatisch. Die meisten Befehle, die einen Projektpfad erwarten, akzeptieren ihn als positionelles Argument oder als --path und verwenden standardmäßig den aktuellen Ordner.
Eine typische Sitzung
unity-mcp-cli install-plugin ./MyGame
unity-mcp-cli login
unity-mcp-cli setup-mcp claude-code ./MyGame
unity-mcp-cli open ./MyGame
unity-mcp-cli wait-for-ready ./MyGame
unity-mcp-cli run-tool tests-run ./MyGame --input '{"testMode":"EditMode"}'
unity-mcp-cli close ./MyGameBefehle für die Projekteinrichtung
install-unity
Installiert einen Unity Editor über Unity Hub. Ohne Argument wird die neueste stabile Version installiert.
| Argument / Option | Beschreibung |
|---|---|
[version] | Editor-Version, zum Beispiel 6000.3.1f1 |
--path <path> | Liest die benötigte Version aus einem bestehenden Projekt |
create-project
Erstellt ein neues Unity-Projekt mit dem Editor: unity-mcp-cli create-project ./MyGame --unity 6000.3.1f1.
| Argument / Option | Beschreibung |
|---|---|
[path] | Wo das Projekt erstellt wird (erforderlich, oder --path) |
--unity <version> | Editor-Version (Standard: höchste installierte) |
install-plugin
Fügt die OpenUPM-Scoped-Registry und com.ivanmurzak.unity.mcp zu Packages/manifest.json hinzu. Eine höher installierte Version wird nie herabgestuft. Der Ordner muss ein Unity-Projekt sein.
| Option | Beschreibung |
|---|---|
[path] | Unity-Projekt (Standard: aktueller Ordner) |
--plugin-version <version> | Zu installierende Version (Standard: neueste auf OpenUPM) |
--with-server | Lädt zusätzlich die gamedev-mcp-server-Binärdatei für diesen Rechner in den eigenen Ordner der CLI herunter |
--server-version <version> | Serverversion für --with-server |
--server-source <path-or-url> | Installiert den Server aus einem lokalen Zip oder einer URL (offline oder CI; überspringt die Prüfsummenverifikation) |
--enroll <code> | Löst einen Team-Enrollment-Code für eine an dieses Projekt gebundene Plugin-Zugangsberechtigung ein |
--enroll-stdin | Liest den Enrollment-Code aus stdin, sodass er nicht in der Shell-History landet |
--yes | Bestätigt Rückfragen, etwa einen Kontowechsel während --enroll |
install-extension
Installiert eine offizielle Erweiterung in Packages/manifest.json. Siehe Erweiterungen.
| Argument / Option | Beschreibung |
|---|---|
[id] | Katalogname (Tilemap) oder Paket-ID (com.ivanmurzak.unity.mcp.tilemap) |
[path] | Unity-Projekt (Standard: aktueller Ordner) |
--extension-version <version> | Zu installierende Version (Standard: neueste auf OpenUPM) |
--list | Listet installierbare Erweiterungen auf und beendet (kein Projekt oder Netzwerk nötig) |
remove-plugin
Entfernt com.ivanmurzak.unity.mcp aus Packages/manifest.json und behält die Scoped Registries bei. Nimmt [path] (erforderlich, oder --path).
configure
Blendet Tools, Prompts und Ressourcen in UserSettings/AI-Game-Developer-Config.json ein oder aus. Ein ausgeblendetes Element wird bei namentlichem Aufruf trotzdem ausgeführt.
| Option | Beschreibung |
|---|---|
[path] | Unity-Projekt (erforderlich, oder --path) |
--list | Gibt die aktuelle Konfiguration aus und beendet |
--enable-tools <names>, --disable-tools <names> | Bestimmte Tools ein- oder ausblenden (kommagetrennt) |
--enable-all-tools, --disable-all-tools | Alle Tools ein- oder ausblenden |
--enable-prompts <names>, --disable-prompts <names> | Dasselbe für Prompts |
--enable-all-prompts, --disable-all-prompts | Alle Prompts |
--enable-resources <names>, --disable-resources <names> | Dasselbe für Ressourcen |
--enable-all-resources, --disable-all-resources | Alle Ressourcen |
--agent <id> | Schreibt stattdessen über den Configurator des verwalteten Servers eine KI-Agent-Konfiguration |
--url <url> | Server-URL, die zusammen mit --agent übergeben wird |
bootstrap-local
Fixiert die Konfiguration eines Projekts auf den Custom-(lokalen) Modus mit einer bestimmten Server-URL und einem Token. Idempotent.
| Option | Beschreibung |
|---|---|
[path] | Unity-Projekt (Standard: aktueller Ordner) |
--url <url> | URL des lokalen MCP-Servers (erforderlich) |
--token <token> | Lokales Bearer-Token (erforderlich) |
--dry-run | Meldet, was sich ändern würde, ohne zu schreiben |
Anmelde- und KI-Agent-Befehle
login
Meldet sich über den OAuth-Gerätefluss im Browser bei ai-game.dev an und speichert die Anmeldedaten in ~/.ai-game-dev/credentials.json. Das Editor-Plugin und die Desktop-App verwenden dieselben Anmeldedaten. Wenn du bereits angemeldet bist, wird das Programm vorzeitig beendet.
| Option | Beschreibung |
|---|---|
--project <path> | Speichert die Anmeldedaten in <path>/.ai-game-dev/ statt im maschinenweiten Speicher |
--force | Meldet dich erneut an, auch wenn bereits Anmeldedaten vorhanden sind |
--tools-only | Autorisiert nur Engine-Tools für CI-Runner; es werden keine Agent-Anmeldedaten gespeichert |
--yes | Bestätigt einen Kontowechsel ohne Rückfrage |
setup-mcp
Schreibt die MCP-Konfiguration eines AI-Agents – dieselbe Ausgabe wie Configure im Editor-Fenster. Standardmäßig ist die URL auf dieses Projekt festgelegt (https://ai-game.dev/mcp/p/<pin>), und bei Cloud-HTTP-Konfigurationen enthält sie den Schlüssel dieses Projekts, wenn du angemeldet bist. Siehe AI-Clients verbinden.
| Option | Beschreibung |
|---|---|
[agent-id] | Zu konfigurierender Agent, zum Beispiel claude-code, cursor, codex |
[path] | Unity-Projekt (Standard: aktueller Ordner) |
--transport <transport> | http (Standard) oder stdio |
--url <url> | Überschreibt die Server-URL für http |
--token <token> | Schreibt diesen Personal Access Token statt des Projektschlüssels |
--oauth | Schreibt eine Konfiguration nur mit URL; der Agent meldet sich mit seinem eigenen OAuth an |
--regenerate-key | Erzeugt einen neuen Projektschlüssel, schreibt die Konfigurationen neu und macht den alten Schlüssel ungültig |
--no-pin | Verwendet den nicht festgelegten Endpunkt https://ai-game.dev/mcp |
--list | Listet Agent-IDs und ihre Konfigurationspfade auf |
setup-skills
Erzeugt die Skill-Dateien des Agents über den laufenden Editor. Unity muss geöffnet sein und das Plugin verbunden ist.
| Option | Beschreibung |
|---|---|
[agent-id] | Agent, für den Skills erzeugt werden |
[path] | Unity-Projekt (Standard: aktueller Ordner) |
--url <url>, --token <token> | Überschreibungen für Server-URL und Token |
--timeout <ms> | Timeout für Anfragen (Standard 60000) |
--list | Listet Agents und ob sie Skills unterstützen |
Editor-Befehle
open
Öffnet das Projekt im Unity-Editor und setzt die Umgebungsvariablen für die Plugin-Verbindung anhand der angegebenen Optionen. Der Editor startet abgekoppelt.
| Option | Beschreibung |
|---|---|
[path] | Unity-Projekt (Standard: aktueller Ordner) |
--unity <version> | Editor-Version (Standard: die Version des Projekts, sonst die höchste installierte) |
--editor-path <path> | Explizite Editor-Executable; überspringt die Suche über den Unity Hub |
--no-connect | Öffnet ohne MCP-Verbindungsvariablen |
--url <url> | Server-URL (setzt UNITY_MCP_HOST, den Alias von UNITY_MCP_CLOUD_URL) |
--keep-connected | Erzwingt, dass die Verbindung aktiv ist |
--token <token> | Token des lokalen Servers (setzt UNITY_MCP_TOKEN) |
--auth <option> | Autorisierungsmodus (setzt UNITY_MCP_AUTH_OPTION); diese Version akzeptiert none oder required |
--tools <names> | Kommagetrennte Tools, die angezeigt werden (setzt UNITY_MCP_TOOLS) |
--transport <method> | streamableHttp oder stdio |
--start-server <value> | true oder false für den automatischen Start des lokalen Servers |
--headless | Startet ohne Fenster (-batchmode, Grafik bleibt aktiv) und wartet, bis der MCP-Server antwortet |
--idle-timeout <seconds> | Beendet sich nach so vielen Sekunden ohne Tool-Aufruf und speichert vorher geänderte Szenen und Assets |
--ready-timeout <ms> | Mit --headless: wie lange gewartet wird (Standard 300000) |
--no-auto-dismiss-launch-errors | Klickt im Unity-Dialog "compile errors at launch" nicht auf Ignore |
--launch-dismiss-timeout-ms <ms> | Gesamtzeit, in der auf diesen Dialog geachtet wird (Standard 30000) |
--launch-dismiss-poll-interval-ms <ms> | Abfrageintervall für den Dialog (Standard 1500) |
Das Wegklicken des Startfehler-Dialogs erfordert unter macOS die Bedienungshilfen-Berechtigung für das Terminal und unter Linux X11 xdotool (Wayland wird nicht unterstützt).
close
Schließt den Editor des Projekts sauber: unity-mcp-cli close ./MyGame --timeout 60 --force. Das Schließen eines nicht laufenden Editors gilt als erfolgreich.
| Option | Beschreibung |
|---|---|
[path] | Unity-Projekt (Standard: aktueller Ordner) |
--timeout <seconds> | Wartet auf ein ordnungsgemäßes Beenden (Standard 30) |
--force | Beendet den Editor gewaltsam, falls er bis dahin nicht geschlossen wurde |
--owned-only | Schließt nur einen Editor, den die CLI gestartet hat (exec, open --headless) |
wait-for-ready
Fragt ab, bis der Editor und der MCP-Server Tool-Aufrufe annehmen. Optionen: [path], --url, --token, --timeout <ms> (Standard 120000) und --interval <ms> (Standard 3000).
status
Zeigt an, ob Unity läuft, ob der lokale MCP-Server antwortet und ob der konfigurierte Server (zum Beispiel die Cloud) erreichbar ist. Optionen: [path], --url, --token, --timeout <ms> (Standard 5000).
Tool-Befehle
run-tool
Ruft ein MCP-Tool über die HTTP-API des Servers auf. URL und Token stammen aus der Projektkonfiguration (Custom- oder Cloud-Modus), sofern du sie nicht überschreibst.
unity-mcp-cli run-tool rql-query ./MyGame --input '{"query":"objects | where name == \"Player\" | select path name active"}'
unity-mcp-cli run-tool unity-tool-list ./MyGame --raw| Option | Beschreibung |
|---|---|
<tool-name> | Aufzurufendes Tool |
[path] | Unity-Projekt, wird zur Konfigurations- und Porterkennung verwendet |
--url <url>, --token <token> | Overrides, die die Konfiguration umgehen |
--input <json>, --input-file <file> | Tool-Argumente (Standard {}) |
--raw | Rohe JSON-Ausgabe |
--timeout <ms> | Timeout der Anfrage (Standard 60000) |
run-system-tool
Gleiche Optionen wie run-tool, für System-Tools, die nicht für MCP-Clients freigegeben sind (zum Beispiel Skill-Generierung und Sitzungssteuerung).
exec
Führt C# im Editor über script-execute aus und gibt das Ergebnis aus. Ist ein Editor geöffnet, wird dieser verwendet; andernfalls startet ein Headless-Editor, der für spätere Aufrufe warm bleibt und nach --idle Sekunden beendet wird.
unity-mcp-cli exec 'GameObject.FindObjectsOfType<Camera>().Length'
echo 'Application.unityVersion' | unity-mcp-cli exec| Option | Beschreibung |
|---|---|
[code] | C#-Anweisungen; der letzte Ausdruck ist das Ergebnis (oder -f bzw. stdin verwenden) |
--path <path> | Unity-Projekt (Standard: aktueller Ordner) |
-f, --file <file> | Code aus einer Datei lesen (- für stdin) |
--using <namespace> | Zusätzlicher Namespace, wiederholbar |
--include <path> | Hilfsdatei .cs oder Ordner unter .ai-game-dev/snippets, wiederholbar |
--window | Editor mit Fenster statt headless starten |
--idle <seconds> | Leerlaufzeit, bevor ein von exec gestarteter Editor beendet wird (Standard 300, 0 für nie) |
--ready-timeout <ms> | Wartezeit auf den Editor (Standard 300000) |
--timeout <ms> | Timeout für Tool-Aufrufe |
--raw | Rohe Tool-Antwort als JSON |
--url <url>, --token <token> | Overrides |
Ein Kompilierfehler beendet mit Code 1 und verweist auf die betroffenen Zeilen.
Wartung
update
Aktualisiert die CLI auf die neueste npm-Version. --check prüft nur und beendet mit Code 2, wenn ein Update verfügbar ist. Unter npx gibt es nichts zu aktualisieren.
Nutzung als Bibliothek
Das Paket exportiert außerdem eine typisierte Node.js-API (installPlugin, removePlugin, configure, setupMcp, installExtension und mehr), die Ergebnisobjekte zurückgibt, statt etwas auszugeben. Siehe die README des Pakets auf npm.
Verwandte Seiten
- Installation und Erste Schritte.
- Konfiguration für die Umgebungsvariablen, die
opensetzt. - Die eigene CLI der Desktop-App,
gamedev: App-CLI.