>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
C-sharp

Cómo conectar Claude y Cursor directamente a Unity mediante MCP

https://github.com/IvanMurzak/Unity-MCP/raw/main/docs/img/promo/ai-developer-banner.jpg

La mayoría de los desarrolladores están acostumbrados a tratar las redes neuronales como un portapapeles inteligente. Copiamos un error de la consola en un chat con un modelo, recibimos un script C# corregido de vuelta, y lo pegamos en el proyecto. Pero cuando necesitas hacer más que reescribir una clase —cuando necesitas colocar treinta prefabs en círculo, crear una docena de materiales, o ejecutar pruebas rápidamente directamente en el editor— este ping-pong comienza a consumir demasiado tiempo.

El repositorio Unity-MCP resuelve esta rutina de forma fundamental. El proyecto conecta Unity con asistentes populares mediante el Model Context Protocol. Este es un estándar abierto de Anthropic que convierte un modelo de lenguaje de un asesor pasivo en un ejecutor activo dentro de tu entorno de desarrollo.

https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/img/editor/ai-game-developer-windows.png?raw=true

Qué pueden hacer Unity y MCP juntos

El repositorio incluye más de 70 herramientas listas para usar, organizadas en grupos lógicos. El asistente obtiene acceso a la estructura de archivos, jerarquía de escenas, compilador Roslyn e incluso el profiler.

Puedes escribir en Cursor o Claude Code una frase simple: "Crea tres esferas apiladas una encima de otra y aplícales un material metálico dorado." El modelo llamará por sí solo a las APIs necesarias, creará el asset de material, configurará los parámetros del shader y añadirá los objetos a la escena.

https://github.com/IvanMurzak/Unity-MCP/blob/main/docs/img/editor/setup-skills.jpg?raw=true

Aquí están los principales grupos de operaciones que maneja el plugin:

  • Gestión de assets y paquetes mediante UPM
  • Manipulación de GameObjects, componentes y prefabs
  • Ejecución de pruebas en EditMode y PlayMode con envío de informes de vuelta al chat
  • Ejecución dinámica de código C# mediante Roslyn sin recompilación prolongada
  • Captura de capturas de pantalla desde la cámara o Scene View para evaluación visual de resultados
  • Recopilación de métricas de rendimiento y memoria a través del profiler integrado

El soporte de reflexión es particularmente útil. La red neuronal puede encontrar métodos en el código y llamarlos con los argumentos requeridos, incluso si esos métodos son privados o están ubicados en DLLs externas.

Cómo funcionan el servidor y el intercambio de datos

La arquitectura consta de dos partes: un plugin C# para Unity y un servidor MCP separado que se ejecuta como binario o contenedor Docker. El cliente (por ejemplo, Claude Desktop o VS Code) se comunica con el servidor mediante el protocolo stdio o HTTP, y el servidor pasa los comandos a la instancia de Unity en ejecución.

https://github.com/IvanMurzak/Unity-MCP/raw/main/docs/img/ai-connector-window.gif

Inicio rápido mediante CLI

El proyecto incluye un paquete CLI conveniente que automatiza la instalación del plugin y la generación de skills para los modelos:

npm install -g unity-mcp-cli
unity-mcp-cli install-plugin ./MyUnityProject
unity-mcp-cli open ./MyUnityProject

Si CLI no es lo tuyo, puedes descargar un .unitypackage listo para usar desde GitHub releases o añadir el paquete mediante OpenUPM.

Ten en cuenta el requisito estricto de ruta. La ruta a tu proyecto Unity no debe contener espacios, de lo contrario el servidor local simplemente se negará a funcionar.

Crear herramientas personalizadas

El plugin es fácil de extender. Para dar a la red neuronal acceso a la lógica específica de tu juego, solo necesitas escribir un método C# regular y marcarlo con los atributos AiToolType y AiTool.

Cualquier llamada a la API de Unity necesita estar envuelta en ejecución del hilo principal, porque las solicitudes entrantes del servidor llegan en un hilo en segundo plano:

[AiToolType]
public class LevelBuildingTools
{
    [AiTool("spawn-enemy-wave", Title = "Spawn Enemy Wave")]
    [Description("Спавнит волну врагов заданного типа в указанных координатах")]
    public string SpawnWave(
        [Description("Имя префаба врага")] string enemyType,
        [Description("Количество врагов")] int count
    )
    {
        return MainThread.Instance.Run(() =>
        {
            EnemySpawner.Instance.Spawn(enemyType, count);
            return $"Успешно заспавнено {count} врагов типа {enemyType}";
        });
    }
}

Los atributos Description juegan un papel crítico. El modelo lee estas descripciones para saber cuándo llamar a la herramienta y qué tipos de datos pasar como argumentos.

Trabajar en Runtime y Builds

La mayoría de las integraciones similares están limitadas al modo Editor. El autor de Unity-MCP fue más allá y añadió un cliente de runtime. Puedes incrustar el servidor directamente en un juego compilado para entregar el control de NPCs a un modelo de lenguaje.

Así se ve la inicialización del plugin de runtime en código:

var mcpPlugin = UnityMcpPluginRuntime.Initialize(builder =>
    {
        builder.WithConfig(config =>
        {
            config.Host = "http://localhost:8080";
            config.Token = "your-token";
        });
        builder.WithToolsFromAssembly(Assembly.GetExecutingAssembly());
    })
    .Build();

await mcpPlugin.Connect();

El repositorio incluye un ejemplo de bot de ajedrez donde toda la lógica de movimiento se delega a un LLM externo. El modelo solicita el estado actual del tablero mediante un MCP Tool y envía de vuelta el siguiente movimiento.

Escenarios prácticos

En la práctica, la herramienta muestra sus mejores resultados en tres áreas:

Primero, diseño rutinario de niveles y UI. Ensamblar una escena básica a partir de una descripción de texto es muchas veces más rápido que colocar primitivas manualmente.

Segundo, pruebas automatizadas y búsqueda de errores. El modelo puede ejecutar pruebas de EditMode, leer el stack trace de una prueba fallida, abrir el script fuente, corregir el error y ejecutar la verificación nuevamente.

Tercero, profiling. Las herramientas de memoria y renderizado proporcionan números precisos de tiempo de frame directamente en el contexto del modelo, lo que ayuda a localizar rápidamente los cuellos de botella.

Quién encontrará útil este proyecto ahora mismo

Si estás trabajando en prototipos en solitario o dirigiendo un pequeño proyecto indie, Unity-MCP te ahorrará mucho tiempo en tareas rutinarias. La barrera de entrada es mínima: instala el CLI, elige tu editor de código favorito, y tendrás inmediatamente un asistente funcional con acceso a la escena.

Para equipos empresariales con decenas de desarrolladores, la solución requerirá algo de cuidado. Necesitarás bloquear las configuraciones a través de los ajustes del proyecto y monitorear los derechos de acceso si el servidor se despliega de forma remota en Docker. El repositorio está activamente desarrollado, utiliza la licencia abierta Apache 2.0, y acepta pull requests.

Proyectos relacionados