Skip to main content
Glama
yangfch3

Unity MCP Server

by yangfch3

Unity MCP Server

Chinesisch | Englisch

Ein Unity Editor-Plugin, das die Funktionen des Unity Editors über das MCP (Model Context Protocol) für externe KI-Agenten verfügbar macht.

Agenten (wie Kiro, Cursor, Claude Code) können sich über das Standard-MCP-Protokoll mit dem Unity Editor verbinden und Editor-Funktionen aufrufen.

Konzept

Dieses Plugin ist als Unity-Wahrnehmungsebene + Diagnose-Toolchain für KI-Agenten positioniert:

  • Wahrnehmung zuerst — Priorisiert die Abdeckung häufiger Szenarien wie "Szenenstatus lesen, Kontext abrufen, Diagnose unterstützen", damit der Agent den aktuellen Projektstatus vollständig verstehen und Entwicklungsentscheidungen unterstützen kann.

  • Strukturiertes Schreiben — Bietet sichere, prüfbare Schreiboperationen (z. B. Ändern von Eigenschaften, Hinzufügen/Löschen von Knoten), strebt jedoch nicht die Abdeckung aller Interaktionen der Unity Editor GUI an.

  • Kein Ersatz für den Editor — Das Ziel ist es, die Effizienz der Zusammenarbeit zwischen Ingenieuren und Agenten zu steigern, anstatt alle Editor-Operationen in ein Dialogfeld zu verlagern.

Related MCP server: MCP Unity

Funktionen

  • Streamable HTTP-Übertragung — Basiert auf der MCP-Spezifikation vom 26.03.2025, einzelner HTTP-Endpunkt

  • In-Process-Ausführung — Kein externer Node.js/Python-Prozess erforderlich, startet direkt im Editor

  • Erweiterbares Tool-System — Implementieren Sie einfach das IMcpTool-Interface, um neue Tools zu registrieren, ohne den Kerncode zu ändern

  • Automatische Wiederherstellung bei Domain Reload — Der Dienst startet nach dem Betreten/Verlassen des PlayMode automatisch neu

Integrierte Tools

Die vollständige Parameterbeschreibung und Anwendungsbeispiele finden Sie in der ausführlichen Tool-Dokumentation.

Debug-Tools

Tool

Funktion

console_getLogs

Unity Console-Logs abrufen (mit Filterunterstützung)

console_clearLogs

Log-Puffer leeren

debug_getStackTrace

Vollständigen Stacktrace des letzten Fehlers/der letzten Exception abrufen

debug_getPerformanceStats

Leistungsmetriken wie FPS, DrawCalls, Speicher abrufen

debug_screenshot

Screenshot der Game/Scene-Ansicht erstellen

Editor-Tools

Query (Abfrage)

Tool

Funktion

editor_getHierarchy

Baumstruktur der GameObjects abrufen

editor_getInspector

Werte serialisierter Felder im Inspector abrufen

editor_getSelection

Informationen zum aktuell ausgewählten Objekt abrufen

editor_findGameObjects

GameObjects nach Name/Komponente suchen

editor_getProjectPath

Pfad zum Projektstammverzeichnis abrufen

editor_getProjectStructure

Struktur des Assets-Verzeichnisses abrufen

Mutation (Änderung)

Tool

Funktion

editor_addGameObject

GameObject hinzufügen

editor_deleteGameObject

GameObject löschen

editor_setField

Wert eines serialisierten Feldes ändern

editor_setTransform

Transform-Eigenschaften ändern

editor_setActive

Aktivierungsstatus ändern

editor_reparentGameObject

Übergeordnetes Element ändern

editor_addComponent

Komponente hinzufügen

editor_removeComponent

Komponente entfernen

editor_setComponentEnabled

Komponente aktivieren/deaktivieren

editor_selectGameObject

Angegebenes GameObject auswählen

Project (Projekt)

Tool

Funktion

menu_execute

Unity-Menüpunkt über Pfad ausführen

playmode_control

PlayMode-Status steuern

Asset (Vermögenswerte)

Tool

Funktion

asset_deleteFolder

Assets-Unterverzeichnis löschen

Build-Tools

Tool

Funktion

build_compile

Skriptkompilierung auslösen

build_getCompileErrors

Liste der Kompilierungsfehler abrufen

build_runTests

Test Runner-Tests ausführen

Code-Tools (Experimentell, nur Unity 2022 Mono)

Tool

Funktion

code_executeImmediate

C#-Code dynamisch kompilieren und ausführen (unterstützt Haupt-Thread/Hintergrund-Modus)

Muss im Fenster "Window → MCP Server" manuell aktiviert werden. Siehe ausführliche Tool-Dokumentation.

Installation

Installation per Git URL (Empfohlen)

  1. Unity Editor → Window → Package Manager → + → Add package from git URL

  2. Geben Sie die folgende URL ein:

https://github.com/yangfch3/Unity-MCP-Server.git

Oder bearbeiten Sie direkt die Packages/manifest.json des Host-Projekts:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git"
  }
}

Installation über lokalen Pfad

  1. Klonen Sie dieses Repository

  2. Unity Editor → Window → Package Manager → + → Add package from disk

  3. Wählen Sie die package.json im Stammverzeichnis dieses Repositorys

Oder fügen Sie Folgendes in Packages/manifest.json hinzu:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "file:../../path/to/unity-mcp"
  }
}

Versions-Updates

Nach der Installation über die Git URL wird der aktuelle Commit-Hash in der packages-lock.json des Host-Projekts gesperrt. Es erfolgt kein automatisches Update.

Um eine bestimmte Version zu sperren, können Sie am Ende der URL ein Git-Tag anhängen:

https://github.com/yangfch3/Unity-MCP-Server.git#v0.3.0

Entsprechende Packages/manifest.json-Konfiguration:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git#v0.3.0"
  }
}

Ohne Tag wird der neueste Commit des Standard-Branch verfolgt:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git"
  }
}

Um die Version zu aktualisieren, ändern Sie das #tag-Suffix in der manifest.json auf die neue Versionsnummer oder fügen Sie das Paket im UPM GUI erneut über "Add package from git URL" mit der neuen Tag-URL hinzu.

Verwendung

Dienst starten

  1. Unity Editor → Window → MCP Server

  2. Port einstellen (Standard 8090), auf Start klicken

  3. Die Konfigurations-JSON aus dem Panel kopieren

Agent konfigurieren

Fügen Sie den folgenden Inhalt zur MCP-Konfigurationsdatei des Agenten hinzu (z. B. mcp.json):

{
  "mcpServers": {
    "unity-mcp": {
      "url": "http://localhost:8090/"
    }
  }
}

Erweiterung: Eigene Tools hinzufügen

Implementieren Sie das IMcpTool-Interface und platzieren Sie es in einer beliebigen Editor-Assembly. Der Dienst erkennt und registriert es beim Start automatisch:

using System.Collections.Generic;
using System.Threading.Tasks;
using UnityMcp.Editor;

public class MyCustomTool : IMcpTool
{
    public string Name => "my_custom_tool";
    public string Category => "custom";
    public string Description => "我的自定义工具";
    public string InputSchema => "{\"type\":\"object\",\"properties\":{}}";

    public Task<ToolResult> Execute(Dictionary<string, object> parameters)
    {
        return Task.FromResult(ToolResult.Success("Hello from custom tool!"));
    }
}

Anforderungen

  • Unity 2022.3+

  • Nur Editor-Umgebung, beeinträchtigt nicht den Runtime-Build

Mitwirken

Sie sind herzlich eingeladen, an der Entwicklung dieses Projekts mitzuwirken. Weitere Informationen finden Sie unter CONTRIBUTING.md.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    A bridge enabling seamless communication between Unity and Large Language Models via the Model Context Protocol, allowing developers to automate workflows, manipulate assets, and control the Unity Editor programmatically.
    14,777
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Implementation of the Model Context Protocol for Unity Editor, allowing AI assistants to interact with Unity projects through a Node.js server bridge.
    10 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to interact with Unity Editor through the Model Context Protocol, allowing natural language control of Unity projects including scene manipulation, GameObject creation, component updates, package management, and test execution.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that integrates AI assistants like Claude and Cursor directly into the Unity Editor to automate game development workflows. It provides over 40 built-in tools for scene manipulation and project management, while offering a simple C# API for creating custom extensions.
    9
    GPL 3.0