Luis Escolano

2026 · Autor único

unity-mcp port

Fork minimal del Unity MCP backporteado a Unity 2019.4 — la versión que el pipeline de modding de Beat Saber necesita. Strippea las partes que dependen de features modernas de C# y reescribe el resto a C# 7.3.

El upstream CoplayDev/unity-mcp declara Unity 2021.3+ y depende de C# 8/9, UI Toolkit, y APIs que no existen en 2019.4. El fork mantiene los commits cherry-pickables para poder proponer piezas de vuelta al upstream, pero la working copy targetea el mundo de modding de BS 1.34.2 limpiamente — concretamente, el boss fight de Aline que me empujó a necesitarlo.

Qué significó “minimal” en la práctica: borrar ~21 client configurators, el wizard completo de UI Toolkit, todo Editor/Tools/{Graphics, Profiler, Vfx, ProBuilder} porque sus APIs son post-2020, y el transport HTTP (stdio basta para single-agent Claude Code). Luego reescribir ~41 sites de sintaxis C# 8/9 a 7.3 — switch expressions a switch clásicos, sintaxis de range/index a Substring/Skip, target-typed new() a constructores explícitos. La lista exhaustiva está en el README.

Lo más duro fue execute_code: el compilador CodeDom de .NET Framework aborta la compilación entera cuando topa con una DLL de metadata corrupta, y VivifyTemplate trae una Newtonsoft.Json.dll legacy compilada con Mono. El tool ahora detecta “Metadata file ‘X’ does not contain valid metadata”, droppea esa DLL del set de referencias, y reintenta hasta 8 veces.