Skip to content

v0.9.0 β€” Unity MCP Integration

Choose a tag to compare

@striderZA striderZA released this 15 Jun 19:14

v0.9.0 β€” Unity MCP Integration

Adds the CoplayDev unity-mcp server as the third MCP integration in OCGS, alongside the existing aseprite and godot MCPs. Mirrors the established patterns throughout.

What's new

  • MCP config β€” New mcp.unity block in opencode.json (HTTP, localhost:8080, disabled by default) β€” same opt-in shape as mcp.godot
  • Skill docs β€” New Β§7.4 in setup-engine/SKILL.md (root + core module copies, byte-identical) covering prerequisites, install, the Editor-running constraint, manual config fallback, and troubleshooting
  • Agent references β€” All 5 unity specialists (unity-specialist + 4 sub-specialists) gain a ## MCP Integration section with domain-specific tool hints
  • Module version β€” engine-unity bumped 0.6.0 β†’ 0.7.0
  • Changelog β€” New v0.4.0 β€” Unity MCP Integration section in UPGRADING.md (uses the project-specific changelog numbering, which predates the framework-level v0.9.0)

Transport choice

HTTP (http://localhost:8080/mcp), the upstream default. Unity MCP runs as a package inside Unity Editor, not as a standalone CLI, so it differs from the godot/aseprite command: [...] shape β€” a deliberate, documented divergence.

Test results

  • node tests/agents/validate.mjs β†’ 182/182 PASS (51 agents, 77 skills, 53 commands, 1 cross-reference)
  • node .opencode/plugins/tests/*.mjs β†’ 11/11 files, 129/129 scenarios PASS

Notes for users

  • Requires Unity 2021.3 LTS+, Python 3.10+ with uv
  • Install the CoplayDev package in your Unity project: https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main
  • Set mcp.unity.enabled: true in opencode.json after Unity Editor is running
  • See setup-engine Β§7.4 for full setup instructions
  • An automated smoke-test for Unity is out of scope (Unity in batchmode is finicky); integration is interactive-dev only

Follow-up notes

Two spec-inherited tool-name nits surfaced during final review β€” fixable in a follow-up:

  • manage_package (singular) β†’ manage_packages (plural) in unity-addressables-specialist.md and Β§7.4 references
  • list_scenes in Β§7.4 "Verify" example isn't a documented tool; closest is manage_scene(action="get_active")

PR: #63