MCP ExplorerExplorer

Unity Integration

@quazaaion 13 days ago
67Β MIT
FreeCommunity
Media Creation
#Unity#Integration#AI
Advanced Unity3d Game Engine MCP which supports ,Execution of Any Editor Related Code Directly Inside of Unity, Fetch Logs, Get Editor State and Allow File Access of the Project making it much more useful in Script Editing or asset creation.

Overview

What is Unity Integration

The Advanced Unity MCP Integration is a package that enables real-time interaction between AI assistants and Unity projects using the Model Context Protocol (MCP). It allows AI to access and manipulate Unity project elements, execute C# code, and obtain project information.

Use cases

This integration can be used in various scenarios, such as enhancing development workflows by allowing AI to browse project files, access scene hierarchies, execute commands, and provide real-time assistance within the Unity Editor, thus facilitating faster prototyping and iteration.

How to use

To use the integration, install the Unity package via the Package Manager or import it as a custom package, and set up the MCP server either manually or by adding it to the MCP Host configuration. Once installed, the MCP Debug window can be accessed for monitoring and testing functionalities.

Key features

Key features include the ability to browse project files, execute C# commands in the Unity Editor, access real-time information about scenes and game objects, monitor console logs, control play mode, and perform file operations such as reading, writing, and editing scripts.

Where to use

This integration is ideal for Unity developers looking to leverage AI tools to enhance their development processes. It can be employed in game development, virtual reality projects, simulations, and any use cases where interactive assistance with Unity projects is beneficial.

Content

πŸš€ Advacned Unity MCP Integration

MCP
smithery badge
Unity
Node.js
TypeScript
WebSockets

Stars
Forks
License

Unity MCP Inspector

This package provides a seamless integration between Model Context Protocol (MCP) and Unity Editor, allowing AI assistants to understand and interact with your Unity projects in real-time. With this integration, AI assistants can access information about your scene hierarchy, project settings, and execute code directly in the Unity Editor context.

πŸ“š Features

  • Browse and manipulate project files directly
  • Access real-time information about your Unity project
  • Understand your scene hierarchy and game objects
  • Execute C# code directly in the Unity Editor
  • Monitor logs and errors
  • Control the Editor’s play mode
  • Wait For Code Execution

πŸš€ Getting Started

Prerequisites

  • Unity 2021.3 or later
  • Node.js 18+ (for running the MCP server)

Installation

1. Install Unity Package

You have several options to install the Unity package:

Option A: Package Manager (Git URL)

  1. Open the Unity Package Manager (Window > Package Manager)
  2. Click the + button and select Add package from git URL...
  3. Enter the repository URL: https://github.com/quazaai/UnityMCPIntegration.git
  4. Click Add

Option B: Import Custom Package

  1. Clone this repository or download it as a unityPackage
  2. In Unity, go to Assets > Import Package > Custom Package
  3. Select the UnityMCPIntegration.unitypackage file

2. Set up the MCP Server

You have two options to run the MCP server:

Option A: Run the server directly

  1. Navigate to the mcpServer (likely <path-to-project>\Library\PackageCache\com.quaza.unitymcp@d2b8f1260bca\mcpServer\) directory
  2. Install dependencies:
    npm install
    
  3. Run the server:
    node build/index.js
    

Option B: Add to MCP Host configuration

Add the server to your MCP Host configuration for Claude Desktop, Custom Implementation etc

{
  "mcpServers": {
    "unity-mcp-server": {
      "command": "node",
      "args": [
        "path-to-project>\\Library\\PackageCache\\com.quaza.unitymcp@d2b8f1260bca\\mcpServer\\mcpServer\\build\\index.js"
      ],
      "env": {
        "MCP_WEBSOCKET_PORT": "5010"
      }
    }
  }
}

Demo Video

YouTube

Installing via Smithery

To install Unity MCP Integration for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @quazaai/unitymcpintegration --client claude

πŸ”§ Usage

Debugging and Monitoring

You can open the MCP Debug window in Unity to monitor the connection and test features:

  1. Go to Window > MCP Debug
  2. Use the debug window to:
    • Check connection status
    • Test code execution
    • View logs
    • Monitor events

Available Tools

The Unity MCP integration provides several tools to AI assistants:

Unity Editor Tools
  • get_editor_state: Get comprehensive information about the Unity project and editor state
  • get_current_scene_info: Get detailed information about the current scene
  • get_game_objects_info: Get information about specific GameObjects in the scene
  • execute_editor_command: Execute C# code directly in the Unity Editor
  • get_logs: Retrieve and filter Unity console logs
  • verify_connection: Check if there’s an active connection to Unity Editor
Filesystem Tools
  • read_file: Read contents of a file in your Unity project
  • read_multiple_files: Read multiple files at once
  • write_file: Create or overwrite a file with new content
  • edit_file: Make targeted edits to existing files with diff preview
  • list_directory: Get a listing of files and folders in a directory
  • directory_tree: Get a hierarchical view of directories and files
  • search_files: Find files matching a search pattern
  • get_file_info: Get metadata about a specific file or directory
  • find_assets_by_type: Find all assets of a specific type (e.g. Material, Prefab)
  • list_scripts: Get a listing of all C# scripts in the project

File paths can be absolute or relative to the Unity project’s Assets folder. For example, "Scenes/MyScene.unity" refers to <project>/Assets/Scenes/MyScene.unity.

πŸ› οΈ Architecture

The integration consists of two main components:

  1. Unity Plugin (C#): Resides in the Unity Editor and provides access to Editor APIs
  2. MCP Server (TypeScript/Node.js): Implements the MCP protocol and communicates with the Unity plugin

Communication between them happens via WebSocket, transferring JSON messages for commands and data.

File System Access

The Unity MCP integration now includes powerful filesystem tools that allow AI assistants to:

  • Browse, read, and edit files in your Unity project
  • Create new files and directories
  • Search for specific files or asset types
  • Analyze your project structure
  • Make targeted code changes with diff previews

All file operations are restricted to the Unity project directory for security. The system intelligently handles both absolute and relative paths, always resolving them relative to your project’s Assets folder for convenience.

Example usages:

  • Get a directory listing: list_directory(path: "Scenes")
  • Read a script file: read_file(path: "Scripts/Player.cs")
  • Edit a configuration file: edit_file(path: "Resources/config.json", edits: [{oldText: "value: 10", newText: "value: 20"}], dryRun: true)
  • Find all materials: find_assets_by_type(assetType: "Material")

πŸ‘₯ Contributing

Contributions are welcome! Here’s how you can contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add some amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Development Setup

Unity Side:

  • Open the project in Unity
  • Modify the C# scripts in the UnityMCPConnection/Editor directory

Server Side:

  • Navigate to the mcpServer directory
  • Install dependencies: npm install
  • Make changes to the TypeScript files in the src directory
  • Build the server: npm run build
  • Run the server: node build/index.js

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ“ž Support

If you encounter any issues or have questions, please file an issue on the GitHub repository.

Tools

get_current_scene_info
Retrieve information about the current scene in Unity Editor with configurable detail level
get_game_objects_info
Retrieve detailed information about specific GameObjects in the current scene
execute_editor_command
Execute C# code directly in the Unity Editor - allows full flexibility including custom namespaces and multiple classes
get_logs
Retrieve Unity Editor logs with filtering options
verify_connection
Verify that the MCP server has an active connection to Unity Editor
get_editor_state
Get the current Unity Editor state including project information
read_file
Read the contents of a file from the Unity project. Paths are relative to the project's Assets folder. For example, use 'Scenes/MainScene.unity' to read Assets/Scenes/MainScene.unity.
read_multiple_files
Read the contents of multiple files from the Unity project simultaneously.
write_file
Create a new file or completely overwrite an existing file in the Unity project.
edit_file
Make precise edits to a text file in the Unity project. Returns a git-style diff showing changes.
list_directory
Get a listing of all files and directories in a specified path in the Unity project. Paths are relative to the Assets folder unless absolute. For example, use 'Scenes' to list all files in Assets/Scenes directory. Use empty string to list the Assets folder.
directory_tree
Get a recursive tree view of files and directories in the Unity project as a JSON structure.
search_files
Recursively search for files and directories matching a pattern in the Unity project.
get_file_info
Retrieve detailed metadata about a file or directory in the Unity project.
find_assets_by_type
Find all Unity assets of a specified type (e.g., Material, Prefab, Scene, Script) in the project. Set searchPath to an empty string to search the entire Assets folder.

Comments