Advanced Unity MCP Integration
Un servidor MCP para Unity, que permite a los asistentes de IA interactuar con proyectos en tiempo real, acceder a datos de escenas y ejecutar código.
Documentación
🚀 Integración Avanzada de Unity MCP
Este paquete proporciona una integración perfecta entre Model Context Protocol (MCP) y Unity Editor, permitiendo que los asistentes de IA comprendan e interactúen 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 tu escena, la configuración del proyecto y ejecutar código directamente en el contexto del Unity Editor.
📚 Características
- Navega y manipula archivos del proyecto directamente
- Accede a información en tiempo real sobre tu proyecto de Unity
- Comprende la jerarquía de tu escena y los objetos del juego
- Ejecuta código C# directamente en el Unity Editor
- Monitorea registros y errores
- Controla el modo de reproducción del Editor
- Esperar la ejecución del código
🚀 Primeros Pasos
Requisitos Previos
- Unity 2021.3 o posterior
- Node.js 18+ (para ejecutar el servidor MCP)
Instalación
1. Instalar el Paquete de Unity
Tienes varias opciones para instalar el paquete de Unity:
Opción A: Administrador de Paquetes (URL de Git)
- Abre el Administrador de Paquetes de Unity (
Window > Package Manager) - Haz clic en el botón
+y seleccionaAdd package from git URL... - Ingresa la URL del repositorio:
https://github.com/quazaai/UnityMCPIntegration.git - Haz clic en
Add
Opción B: Importar Paquete Personalizado
- Clona este repositorio o descárgalo como unityPackage
- En Unity, ve a
Assets > Import Package > Custom Package - Selecciona el archivo
UnityMCPIntegration.unitypackage
2. Configurar el Servidor MCP
Tienes dos opciones para ejecutar el servidor MCP:
Opción A: Ejecutar el servidor directamente
- Navega al directorio
mcpServer (likely <path-to-project>\Library\PackageCache\com.quaza.unitymcp@d2b8f1260bca\mcpServer\) - Instala las dependencias:
npm install - Ejecuta el servidor:
node build/index.js
Opción B: Agregar a la configuración del Host MCP
Agrega el servidor a la configuración de tu Host MCP para Claude Desktop, Custom Implementation, 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"
}
}
}
}
Video de Demostración
Instalación mediante Smithery
Para instalar Unity MCP Integration para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @quazaai/unitymcpintegration --client claude
🔧 Uso
Depuración y Monitoreo
Puedes abrir la ventana de Depuración de MCP en Unity para monitorear la conexión y probar funciones:
- Ve a
Window > MCP Debug - Usa la ventana de depuración para:
- Verificar el estado de la conexión
- Probar la ejecución de código
- Ver registros
- Monitorear eventos
Herramientas Disponibles
La integración de Unity MCP proporciona varias herramientas para los asistentes de IA:
Herramientas del Unity Editor
- get_editor_state: Obtén información completa sobre el proyecto de Unity y el estado del editor
- get_current_scene_info: Obtén información detallada sobre la escena actual
- get_game_objects_info: Obtén información sobre GameObjects específicos en la escena
- execute_editor_command: Ejecuta código C# directamente en el Unity Editor
- get_logs: Recupera y filtra los registros de la consola de Unity
- verify_connection: Verifica si hay una conexión activa con el Unity Editor
Herramientas del Sistema de Archivos
- read_file: Lee el contenido de un archivo en tu proyecto de Unity
- read_multiple_files: Lee varios archivos a la vez
- write_file: Crea o sobrescribe un archivo con contenido nuevo
- edit_file: Realiza ediciones específicas en archivos existentes con vista previa de diferencias
- list_directory: Obtén un listado de archivos y carpetas en un directorio
- directory_tree: Obtén una vista jerárquica de directorios y archivos
- search_files: Encuentra archivos que coincidan con un patrón de búsqueda
- get_file_info: Obtén metadatos sobre un archivo o directorio específico
- find_assets_by_type: Encuentra todos los activos de un tipo específico (por ejemplo, Material, Prefab)
- list_scripts: Obtén un listado de todos los scripts 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" se refiere a <project>/Assets/Scenes/MyScene.unity.
🛠️ Arquitectura
La integración consta de dos componentes principales:
- Plugin de Unity (C#): Reside en el Unity Editor y proporciona acceso a las APIs del Editor
- Servidor MCP (TypeScript/Node.js): Implementa el protocolo MCP y se comunica con el plugin de Unity
La comunicación entre ellos se realiza mediante WebSocket, transfiriendo mensajes JSON para comandos y datos.
Acceso al Sistema de Archivos
La integración de Unity MCP ahora incluye potentes herramientas del sistema de archivos que permiten a los asistentes de IA:
- Navegar, leer y editar archivos en tu proyecto de Unity
- Crear nuevos archivos y directorios
- Buscar archivos o tipos de activos específicos
- Analizar la estructura de tu proyecto
- Realizar cambios de código específicos con vistas previas de diferencias
Todas las operaciones de archivos están restringidas al directorio del proyecto de Unity por seguridad. El sistema maneja inteligentemente tanto rutas absolutas como relativas, resolviéndolas siempre en relación con la carpeta Assets de tu proyecto para mayor comodidad.
Ejemplos de uso:
- Obtener un listado de directorio:
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) - Encontrar todos los materiales:
find_assets_by_type(assetType: "Material")
👥 Contribuciones
¡Las contribuciones son bienvenidas! Así es como puedes contribuir:
- Haz un fork del repositorio
- Crea una rama de características (
git checkout -b feature/amazing-feature) - Realiza tus cambios
- Confirma tus cambios (
git commit -m 'Add some amazing feature') - Sube a la rama (
git push origin feature/amazing-feature) - Abre una Solicitud de Extracción
Configuración de Desarrollo
Lado de Unity:
- Abre el proyecto en Unity
- Modifica los scripts C# en el directorio
UnityMCPConnection/Editor
Lado del Servidor:
- Navega al directorio
mcpServer - Instala las dependencias:
npm install - Realiza cambios en los archivos TypeScript en el directorio
src - Compila el servidor:
npm run build - Ejecuta el servidor:
node build/index.js
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.
📞 Soporte
Si encuentras algún problema o tienes preguntas, por favor crea un issue en el repositorio de GitHub.
