Skip to content

Releases

v1.4.0 — Unity 6000.5 support & multi-project routing

Choose a tag to compare

@youichi-uda youichi-uda released this 01 Jul 01:15

Unity 6000.5 support

  • Fix: the plugin failed to initialize on Unity 6000.5 because it used the now-obsolete instance-ID APIs (Object.GetInstanceID(), SerializedProperty.objectReferenceInstanceIDValue). These are version-guarded to the new EntityId APIs on 6000.5+, and still compile on 2021.3+.
  • Fix: execute_editor_script failed 100% of the time on 6000.5 with The filename or extension is too long. On 6000.5 Unity's bundled Roslyn compiler moved to DotNetSdk/sdk/<ver>/Roslyn/bincore/, so the plugin fell back to CodeDom, whose command line overflowed the Windows length limit with a real project's hundreds of assembly references. Roslyn discovery now finds the new layout, and all compiler arguments pass through a response file so large projects compile on every path.
  • Cleanup: the plugin now compiles with zero warnings on 6000.5 (deprecated FindObjectsByType/FindFirstObjectByType overloads migrated behind version guards; a serialization-analyzer warning resolved).

Multi-project routing

  • The plugin now sends a hello project handshake on connect, so the MCP server can route to the correct editor when several Unity instances run at once (ports 6605-6609), instead of the previous "last connection wins" behavior. Non-matching editors are closed with code 4001 and back off for 30s. Requires the matching MCP server from the v1.4.0 package.

Thanks to Ed for the detailed 6000.5 reports and Zee for the multi-project repro.

v1.3.2 — Roslyn compiler for full C# support

Choose a tag to compare

@youichi-uda youichi-uda released this 17 Apr 12:21

Fixed

  • execute_editor_script now uses Unity's bundled Roslyn compiler via subprocess, giving full modern C# support (local functions, pattern matching, switch expressions, tuples, etc.) on all platforms. The previous CodeDom path silently failed on Linux where Mono's mcs only supports C# 6.
  • Fixed "defined multiple times" error storm in execute_editor_script after domain reloads — assembly references are now deduplicated by filename.
  • macOS Unity 6000.3+ path discovery: Roslyn binaries moved to Resources/Scripting/ and are now probed correctly.
  • Concurrent execute_editor_script calls no longer collide on temp files (per-call GUID subdirectory).
  • Pipe-buffer deadlock fixed when stderr fills before stdout is drained.

Thanks to @Sandersm90 for the comprehensive PR (#6).

v1.3.1 — Screenshot capture fix & async capture_frames

Choose a tag to compare

@youichi-uda youichi-uda released this 12 Apr 15:52

What's New

  • Fix: get_game_screenshot / capture_frames now read directly from the Game View's internal RenderTexture via reflection, eliminating editor chrome and tiling artifacts that crept in when the ScreenCapture.CaptureScreenshotAsTexture() timing was off
  • Rework: capture_frames is now async — it returns a capture_id immediately, and the new get_captured_frames tool retrieves frames (including partial progress for long captures)
  • Graceful fallback to camera-render when the Game View isn't available (edit mode, etc.)
  • Session auto-purge (60s TTL) skips in-flight captures, so long runs aren't evicted mid-flight

Thanks to @Sandersm90 for the contribution!

v1.3.0 — Cross-platform support & screenshot fix

Choose a tag to compare

@youichi-uda youichi-uda released this 08 Apr 13:07

What's New

  • Fix: simulate_key / simulate_mouse / simulate_axis now work on Linux/macOS via Input System (QueueStateEvent)
  • Fix: get_game_screenshot now captures ScreenSpaceOverlay canvases in play mode
  • Win32 path unchanged for Windows users

Thanks to @Sandersm90 for the contribution!

v1.2.1

Choose a tag to compare

@youichi-uda youichi-uda released this 01 Apr 22:19

Bug Fixes

  • Unity 2022.3 backward compatibility: Fixed compilation errors when importing the plugin in Unity versions prior to Unity 6
    • Rigidbody.linearDamping / angularDamping → drag / angularDrag (pre-Unity 6)
    • Rigidbody2D.linearDamping / angularDamping → drag / angularDrag (pre-Unity 6)
    • Collider2D.compositeOperation → usedByComposite (pre-Unity 6)
    • Uses #if UNITY_6000_0_OR_NEWER preprocessor directives

Tested on Unity 2022.3.62f3 and Unity 6.

v1.2.0

Choose a tag to compare

@youichi-uda youichi-uda released this 25 Mar 14:55

What's New

--lite mode for MCP clients with tool limits

The server now supports a --lite flag that registers only 76 core tools, staying well under the 100-tool limit imposed by some MCP clients (e.g., Antigravity).

Usage: Add --lite to server args in your MCP client config:

{
  "mcpServers": {
    "unity-mcp-pro": {
      "command": "node",
      "args": ["path/to/server/dist/index.js", "--lite"]
    }
  }
}

Lite mode core tools (76 tools):

Project, Scene, GameObject, Script, Editor, Prefab, Material, Physics, Lighting, UI, Build, Debug, Screenshot

Full mode (275 tools):

All tools registered as before — no changes to full mode behavior.

Bug fixes (from v1.1.1)

  • Timeline asmdef reference fix
  • PostProcess reflection fix
  • AI waypoint dependency fix

v1.0.0

Choose a tag to compare

@youichi-uda youichi-uda released this 03 Mar 06:16

Unity MCP Pro Plugin v1.0.0

147 tools | 24 categories | 6 resources for AI-powered Unity development via the Model Context Protocol.

Highlights

  • 24 tool categories: Project, Scene, GameObject, Script, Editor, Prefab, Material, Physics, Lighting, UI, Animation, Build, Batch, Audio, Analysis, Navigation, Particle, Package, Terrain, Debug, Input, Screenshot, Runtime, Testing
  • 6 MCP resources for live Unity state
  • Dynamic C# execution (execute_editor_script, execute_game_script)
  • Multi-editor support (ports 6605–6609)
  • Unity 2021.3 LTS+ / Unity 6 compatible

Installation

This repository contains the Unity plugin only. Copy the Editor/ folder and package.json into your Unity project's Assets/ directory.

For the full package (plugin + MCP server), visit itch.io.