Skip to main content
Glama
goesByhc

dsh-unity-debug-bridge

by goesByhc

dsh-unity-debug-bridge

DSH ↔ Unity Editor Breakpoint-Debug-Brücke: Stellt die Debug-Fähigkeiten des verwalteten Unity-Editor-Codes (Mono) als MCP-Server (stdio) für DSH-Agenten bereit — Anhängen an den Editor, Setzen von Haltepunkten, Einzelschritt, Lesen des Aufrufstapels, Nur-Lese-Auswertung.

Fähigkeiten

Werkzeug

Beschreibung

unity_attach

An Unity-Editor anhängen (Prozess und Port werden automatisch über Library/EditorInstance.json ermittelt)

unity_set_breakpoint / unity_continue

Haltepunkt; continue blockiert, bis ein Treffer auftritt und stopped zurückmeldet; bei resumeAfterStop=true wird nach dem Treffer automatisch fortgesetzt (KI-Modus), standardmäßig wird angehalten (Modus für manuelle Betrachtung)

unity_step / unity_step_in / unity_step_out / unity_pause

Einzelschritt und Anhalten

unity_stack / unity_scopes / unity_variables

Aufrufstapel und Variablen

unity_evaluate

Nur-Lese-Auswertung (context=watch, Ändern des Zustands verboten)

unity_status / unity_detach

Sitzungsstatus und Bereinigung

Related MCP server: re-dotnet-patch

Voraussetzungen

Installation in DSH

node install.mjs
# 然后重启 DSH,/mcp 面板出现 unity-debug-bridge(13 个 unity_* 工具)

Oder den stdio-Server manuell in den MCP-Einstellungen von DSH hinzufügen:

- insert:
    - id: mcp-unity-debug-bridge
      name: "@deepseek-ai/dsh-mcp-client"
      config:
        serverName: unity-debug-bridge
        transport: stdio
        command: node
        args: ["<本包路径>/server/mcp-server-stdio.mjs"]
        cwd: "<本包路径>"
        toolCallTimeoutMs: 120000

Wichtige Hinweise zur Verwendung (Erfahrungen aus der Praxis, unbedingt lesen)

  1. Sitzung muss sauber beendet werden, wiederholtes Attach ist möglich: Der Unity-2022.3-Debug-Agent lehnt nach einem brutalen Abbruch der Sitzung (Adapter killen) spätere Attach-Versuche ab (nach der Verbindung kein Handshake, stiller Fehlschlag); nur ein Neustart des Editors stellt es wieder her. Solange die Sitzung über unity_detach (sauberes Trennen) beendet wird, kann derselbe Editor wiederholt attachiert werden, ohne ihn neu starten zu müssen.

  2. Keine TCP-Vorabprüfung durchführen: Jede überflüssige Verbindung (connect+close) zerstört den Agent-Zustand; zum Prüfen des Ports netstat verwenden. Keine Ping-ähnlichen Werkzeuge verwenden, um den Debug-Port zu verbinden.

  3. EditorAttach-Einstellung: EditorPrefs "EditorAttach"=true muss vor dem Start des Editors bereits persistent gesetzt sein (zur Laufzeit gesetzt ist wirkungslos), andernfalls hört der Debug-Agent nicht zu. Man kann einmalig EditorPrefs.SetBool("EditorAttach", true) im Editor ausführen und den Editor dann neu starten.

  4. Debug-Port: Der Editor-Debug-Port = 56000 + process_id % 1000 (process_id aus <project>/Library/EditorInstance.json), nicht fest 56000.

  5. DAP-Übertragung: Content-Length-Frames (kein zeilenweises JSON); dieser Adapter unterstützt die configurationDone-Anfrage nicht.

Siehe docs/adapter-contract.md.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Seamless automation and intelligent control over your Unity projects. By integrating with the MCP server and client, it allows AI agents or external tools to interact with your Unity environment—creating, modifying, and managing GameObjects, Components, Assets, Scenes, and more.
    4,455
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides MCP tools to manage and interact with Unity debug sessions in VS Code, including breakpoints, snapshots, evaluation, and stepping, via a named pipe to the Unity Debugger Pure extension.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Local Streamable HTTP MCP server exposing Unity Editor inspection, authoring, testing, profiling, play-mode, and build tools.
    -