Unity MCP Integration

by quazaai
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Used as the runtime environment for the MCP server component, facilitating communication between the AI assistant and the Unity Editor through WebSocket connections.

  • Used for implementing the MCP server that communicates with the Unity plugin, handling the JSON message protocol for commands and data transfer.

  • Provides real-time access to Unity projects, allowing browsing and manipulation of project files, scene hierarchies, and game objects. Enables direct C# code execution in the Unity Editor, monitoring of logs and errors, and control of the Editor's play mode.

Integración avanzada de Unity MCP

Este paquete proporciona una integración fluida entre el Protocolo de Contexto de Modelo (MCP) y el Editor de Unity, lo que permite a los asistentes de IA comprender e interactuar con tus proyectos de Unity en tiempo real. Con esta integración, los asistentes de IA pueden acceder a información sobre la jerarquía de escenas, la configuración del proyecto y ejecutar código directamente en el contexto del Editor de Unity.

📚 Características

  • Explorar y manipular archivos de proyecto directamente
  • Acceda a información en tiempo real sobre su proyecto de Unity
  • Comprende la jerarquía de tu escena y los objetos del juego.
  • Ejecute código C# directamente en el Editor de Unity
  • Monitorear registros y errores
  • Controlar el modo de reproducción del Editor
  • Esperar la ejecución del código

🚀 Primeros pasos

Prerrequisitos

  • Unity 2021.3 o posterior
  • Node.js 18+ (para ejecutar el servidor MCP)

Instalación

1. Instalar el paquete Unity

Tiene varias opciones para instalar el paquete Unity:

Opción A: Administrador de paquetes (URL de Git)

  1. Abra el Administrador de paquetes de Unity ( Window > Package Manager )
  2. Haga clic en el botón + y seleccione Add package from git URL...
  3. Ingrese la URL del repositorio: https://github.com/quazaai/UnityMCPIntegration.git
  4. Haga clic Add

Opción B: Importar paquete personalizado

  1. Clona este repositorio o descárgalo como unityPackage
  2. En Unity, vaya a Assets > Import Package > Custom Package
  3. Seleccione el archivo UnityMCPIntegration.unitypackage

2. Configurar el servidor MCP

Tiene dos opciones para ejecutar el servidor MCP:

Opción A: Ejecutar el servidor directamente

  1. Navegue hasta el directorio mcpServer (likely <path-to-project>\Library\PackageCache\com.quaza.unitymcp@d2b8f1260bca\mcpServer\)
  2. Instalar dependencias:
    npm install
  3. Ejecutar el servidor:
    node build/index.js

Opción B: Agregar a la configuración del host de MCP

Agregue el servidor a su configuración de host MCP para Claude Desktop, implementación personalizada, etc.

{ "mcpServers": { "unity-mcp-server": { "command": "node", "args": [ "path-to-project>\\Library\\PackageCache\\com.quaza.unitymcp@d2b8f1260bca\\mcpServer\\mcpServer\\build\\index.js" ], "env": { "MCP_WEBSOCKET_PORT": "5010" } } } }

Vídeo de demostración

Instalación mediante herrería

Para instalar Unity MCP Integration para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @quazaai/unitymcpintegration --client claude

🔧 Uso

Depuración y monitorización

Puede abrir la ventana de depuración de MCP en Unity para supervisar la conexión y probar funciones:

  1. Vaya a Window > MCP Debug
  2. Utilice la ventana de depuración para:
    • Comprobar el estado de la conexión
    • Ejecución del código de prueba
    • Ver registros
    • Monitorear eventos

Herramientas disponibles

La integración de Unity MCP proporciona varias herramientas a los asistentes de IA:

Herramientas del editor de Unity
  • get_editor_state : Obtenga información completa sobre el proyecto de Unity y el estado del editor
  • get_current_scene_info : Obtener información detallada sobre la escena actual
  • get_game_objects_info : Obtener información sobre GameObjects específicos en la escena
  • execute_editor_command : ejecuta código C# directamente en el editor de Unity
  • get_logs : recupera y filtra los registros de la consola de Unity
  • verify_connection : Comprueba si hay una conexión activa con Unity Editor
Herramientas del sistema de archivos
  • read_file : lee el contenido de un archivo en tu proyecto de Unity
  • read_multiple_files : Leer varios archivos a la vez
  • write_file : Crea o sobrescribe un archivo con contenido nuevo
  • edit_file : Realiza ediciones específicas a archivos existentes con vista previa de diferencias
  • list_directory : Obtener una lista de archivos y carpetas en un directorio
  • directory_tree : Obtenga una vista jerárquica de directorios y archivos
  • search_files : busca archivos que coincidan con un patrón de búsqueda
  • get_file_info : Obtener metadatos sobre un archivo o directorio específico
  • find_assets_by_type : busca todos los activos de un tipo específico (por ejemplo, material, prefabricado)
  • list_scripts : obtiene una lista de todos los scripts de C# en el proyecto

Las rutas de archivo pueden ser absolutas o relativas a la carpeta Assets del proyecto de Unity. Por ejemplo, "Scenes/MyScene.unity" hace referencia a <project>/Assets/Scenes/MyScene.unity .

🛠️ Arquitectura

La integración consta de dos componentes principales:

  1. Complemento de Unity (C#) : reside en el editor de Unity y proporciona acceso a las API del editor.
  2. Servidor MCP (TypeScript/Node.js) : implementa el protocolo MCP y se comunica con el complemento de Unity

La comunicación entre ellos se realiza a través de WebSocket, transfiriendo mensajes JSON para comandos y datos.

Acceso al sistema de archivos

La integración de Unity MCP ahora incluye potentes herramientas de sistema de archivos que permiten a los asistentes de IA:

  • Explorar, leer y editar archivos en su proyecto de Unity
  • Crear nuevos archivos y directorios
  • Buscar archivos o tipos de activos específicos
  • Analice la estructura de su proyecto
  • Realice cambios de código específicos con vistas previas de diferencias

Por seguridad, todas las operaciones con archivos están restringidas al directorio del proyecto de Unity. El sistema gestiona de forma inteligente tanto las rutas absolutas como las relativas, resolviéndolas siempre en relación con la carpeta de recursos del proyecto para mayor comodidad.

Ejemplos de uso:

  • Obtener un listado de directorios: list_directory(path: "Scenes")
  • Leer un archivo de script: read_file(path: "Scripts/Player.cs")
  • Editar un archivo de configuración: edit_file(path: "Resources/config.json", edits: [{oldText: "value: 10", newText: "value: 20"}], dryRun: true)
  • Buscar todos los materiales: find_assets_by_type(assetType: "Material")

👥 Contribuyendo

¡Agradecemos sus contribuciones! Aquí le mostramos cómo contribuir:

  1. Bifurcar el repositorio
  2. Crear una rama de características ( git checkout -b feature/amazing-feature )
  3. Realiza tus cambios
  4. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  5. Empujar a la rama ( git push origin feature/amazing-feature )
  6. Abrir una solicitud de extracción

Configuración de desarrollo

Lado de la Unidad :

  • Abra el proyecto en Unity
  • Modificar los scripts de C# en el directorio UnityMCPConnection/Editor

Lado del servidor :

  • Navegue hasta el directorio mcpServer
  • Instalar dependencias: npm install
  • Realizar cambios en los archivos TypeScript en el directorio src
  • Construya el servidor: npm run build
  • Ejecute el servidor: node build/index.js

📄 Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

📞 Soporte

Si encuentra algún problema o tiene preguntas, envíe un problema en el repositorio de GitHub.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor que permite a los asistentes de IA comprender e interactuar con proyectos de Unity en tiempo real, proporcionando acceso a la jerarquía de escenas, configuraciones del proyecto y la capacidad de ejecutar código directamente en el Editor de Unity.

  1. 📚 Features
    1. 🚀 Getting Started
      1. Prerequisites
      2. Installation
      3. Demo Video
      4. Installing via Smithery
      5. 🔧 Usage
    2. 🛠️ Architecture
      1. File System Access
        1. 👥 Contributing
          1. Development Setup
        2. 📄 License
          1. 📞 Support
            ID: hrucfjv4zf