Getting started with Unity MCP server

Since Unity AI is currently in open beta, it’s the perfect opportunity to test its capabilities. I’ve personally been playing around with it a lot for project prototyping; however, I’ve also seen several questions on our social media about why you would want to use a MCP server and how to set it up for Unity with your favorite LLM. In this quick article, we’ll answer those questions.

Before we dive in, I have a quick disclaimer: Unity’s AI packages are advancing rapidly, with most currently in a preview or pre-release state. Additionally, a wide variety of tools can be utilized for both the AI Gateway and MCP server. While the recommendations I’ll share here are largely version-agnostic, my recent experience is based on 2.12-pre and the new 6000.5.0f1, using a combination of Claude Code, VS Code, and GitHub Copilot on macOS. If you’re just getting started with Unity’s suite of AI tooling, be sure to explore our video series and documentation covering the fundamentals.

Why use the MCP server?

The Model Context Protocol (MCP) establishes an open framework for AI agents to interface seamlessly with external utilities and repositories. Through Unity’s dedicated MCP Server, any compatible AI model can integrate directly into the Unity Editor, treating its functions as an accessible suite of specialized tools.

This unified standard empowers IDE-based AI agents with real-time insight into your active Unity project’s runtime status. It unlocks direct visibility into console outputs, build parameters, object attributes, GameObjects, and scene hierarchies. Without the MCP, an agent operates with blind spots, relying solely on manually transferred data like code snippets, active tabs, or copy-pasted error logs. The MCP adds the context, giving your models access to inspect scenes, read logs, execute Editor actions, and modify code without tedious manual transfers.

Depending on your current package version, an active MCP connection provides the AI agent with a rich ecosystem of Unity-specific capabilities. Conceptually, this includes functions to search project files via ripgrep-style queries, modify code or assets, and review active project configurations and console history.

Moving away from generic chatbot interactions toward deeply integrated, project-aware prompts unlocks the full capacity of Unity’s generative AI ecosystem and the Model Context Protocol. You can optimize token consumption and streamline your daily operations by leveraging live context, structuring your instructions, expanding capabilities via MCP, and picking targeted AI modes.

Installing the MCP

Setting up Unity MCP takes just a few minutes. We’ve created three videos that show the workflows for CoPilot and Gemini here:

A quick note is that to get started with MCP, your environment must meet the following requirements:

  • Unity 6 (6000.0) or later with the AI Assistant package installed

  • An MCP-compatible AI client, such as Claude Code, Cursor, Windsurf, or Claude Desktop

  • A Unity project connected to Unity Cloud

  • An active trial or subscription to Unity AI

Check out the full documentation is available in the Unity AI docs linked from the Editor or at docs.unity3d.com.

You can find more info about plans, pricing, and data privacy at unity.com/features/ai.

How this assistance package better than cli mcp and pipeline package?

Just the realtime project aware and generative asset?

Will the skill and tool collide if install both?

Is this really able to compete?

I think it might be less confusing on development trajectory of unity if this was just merged with pipeline package, and just expose and allow access more of those capability with trial or subscription. Instead of having 2 mcp package and get our paranoia sentiment

  1. Please add OpenCode support out of the box!
  2. MCP should be available for free now, right?
  3. How would MCP compare to CLI access?
3 Likes

I’ve been trying to use this, and it does sort of work, but the biggest problem seems to be related to compile errors - if an llm makes a compile error, then tries to run something via mcp, including trying to read the console, it doesn’t seem to be aware of the compile errors. So then it gets confused about stale code running, or trying to restart the editor, or all manner of things - basically because the compile errors it generated itself don’t seem to be exposed?