From 8d0539b039ea81424d5800e499ec759b6952e29f Mon Sep 17 00:00:00 2001 From: David Sarno Date: Fri, 5 Sep 2025 08:32:00 -0700 Subject: [PATCH] docs: update README.md with improved installation paths, documentation, and logo --- README.md | 104 ++++++++++++++++-------------------------------------- 1 file changed, 30 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 627a370..e6fd131 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# MCP for Unity โœจ +MCP for Unity #### Proudly sponsored and maintained by [Coplay](https://www.coplay.dev/?ref=unity-mcp) -- the best AI assistant for Unity. [Read the backstory here.](https://www.coplay.dev/blog/coplay-and-open-source-unity-mcp-join-forces) @@ -15,9 +15,9 @@ MCP for Unity acts as a bridge, allowing AI assistants (like Claude, Cursor) to interact directly with your Unity Editor via a local **MCP (Model Context Protocol) Client**. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity. -## ๐Ÿ’ฌ Join Our Community +--- -### [Discord](https://discord.gg/y4p8KfzrN4) +### ๐Ÿ’ฌ Join Our [Discord](https://discord.gg/y4p8KfzrN4) **Get help, share ideas, and collaborate with other MCP for Unity developers!** @@ -37,7 +37,7 @@ MCP for Unity acts as a bridge, allowing AI assistants (like Claude, Cursor) to * `read_console`: Gets messages from or clears the console. * `manage_script`: Manages C# scripts (create, read, update, delete). - * `manage_editor`: Controls and queries the editor\'s state and settings. + * `manage_editor`: Controls and queries the editor's state and settings. * `manage_scene`: Manages scenes (load, save, create, get hierarchy, etc.). * `manage_asset`: Performs asset operations (import, create, modify, delete, etc.). * `manage_shader`: Performs shader CRUD operations (create, read, modify, delete). @@ -50,21 +50,19 @@ MCP for Unity acts as a bridge, allowing AI assistants (like Claude, Cursor) to --- -## How It Works ๐Ÿค” +## How It Works MCP for Unity connects your tools using two components: 1. **MCP for Unity Bridge:** A Unity package running inside the Editor. (Installed via Package Manager). 2. **MCP for Unity Server:** A Python server that runs locally, communicating between the Unity Bridge and your MCP Client. (Installed automatically by the package on first run or via Auto-Setup; manual setup is available as a fallback). -**Flow:** `[Your LLM via MCP Client] <-> [MCP for Unity Server (Python)] <-> [MCP for Unity Bridge (Unity Editor)]` +image --- ## Installation โš™๏ธ -> **Note:** The setup is constantly improving as we update the package. Check back if you randomly start to run into issues. - ### Prerequisites * **Python:** Version 3.12 or newer. [Download Python](https://www.python.org/downloads/) @@ -74,13 +72,8 @@ MCP for Unity connects your tools using two components: pip install uv # Or see: https://docs.astral.sh/uv/getting-started/installation/ ``` - * **An MCP Client:** - * [Claude Desktop](https://claude.ai/download) - * [Claude Code](https://github.com/anthropics/claude-code) - * [Cursor](https://www.cursor.com/en/downloads) - * [Visual Studio Code Copilot](https://code.visualstudio.com/docs/copilot/overview) - * [Windsurf](https://windsurf.com) - * *(Others may work with manual config)* + * **An MCP Client:** : [Claude Desktop](https://claude.ai/download) | [Claude Code](https://github.com/anthropics/claude-code) | [Cursor](https://www.cursor.com/en/downloads) | [Visual Studio Code Copilot](https://code.visualstudio.com/docs/copilot/overview) | [Windsurf](https://windsurf.com) | Others work with manual config + *
[Optional] Roslyn for Advanced Script Validation For **Strict** validation level that catches undefined namespaces, types, and methods: @@ -102,7 +95,8 @@ MCP for Unity connects your tools using two components: **Note:** Without Roslyn, script validation falls back to basic structural checks. Roslyn enables full C# compiler diagnostics with precise error reporting.
-### ๐ŸŒŸStep 1: Install the Unity Package๐ŸŒŸ +--- +### ๐ŸŒŸInstall the Unity Package๐ŸŒŸ #### To install via Git URL @@ -118,7 +112,7 @@ MCP for Unity connects your tools using two components: #### To install via OpenUPM -1. Instal the [OpenUPM CLI](https://openupm.com/docs/getting-started-cli.html) +1. Install the [OpenUPM CLI](https://openupm.com/docs/getting-started-cli.html) 2. Open a terminal (PowerShell, Terminal, etc.) and navigate to your Unity project directory 3. Run `openupm add com.coplaydev.unity-mcp` @@ -134,7 +128,7 @@ Connect your MCP Client (Claude, Cursor, etc.) to the Python server set up in St 1. In Unity, go to `Window > MCP for Unity`. 2. Click `Auto-Setup`. -3. Look for a green status indicator ๐ŸŸข and "Connected โœ“". *(This attempts to modify the MCP Client\'s config file automatically).* +3. Look for a green status indicator ๐ŸŸข and "Connected โœ“". *(This attempts to modify the MCP Client's config file automatically).*
Client-specific troubleshooting @@ -147,7 +141,7 @@ Connect your MCP Client (Claude, Cursor, etc.) to the Python server set up in St If Auto-Setup fails or you use a different client: -1. **Find your MCP Client\'s configuration file.** (Check client documentation). +1. **Find your MCP Client's configuration file.** (Check client documentation). * *Claude Example (macOS):* `~/Library/Application Support/Claude/claude_desktop_config.json` * *Claude Example (Windows):* `%APPDATA%\Claude\claude_desktop_config.json` 2. **Edit the file** to add/update the `mcpServers` section, using the *exact* paths from Step 1. @@ -236,7 +230,7 @@ On Windows, set `command` to the absolute shim, e.g. `C:\\Users\\YOU\\AppData\\L **For Claude Code** -If you\'re using Claude Code, you can register the MCP server using these commands: +If you're using Claude Code, you can register the MCP server using these commands: **macOS:** @@ -261,58 +255,19 @@ claude mcp add UnityMCP -- "C:/Users/USERNAME/AppData/Roaming/Python/Python313/S 3. **Interact!** Unity tools should now be available in your MCP Client. - Example Prompt: `Create a 3D player controller`, `Create a yellow and bridge sun`, `Create a cool shader and apply it on a cube`. + Example Prompt: `Create a 3D player controller`, `Create a tic-tac-toe game in 3D`, `Create a cool shader and apply to a cube`. --- -## Future Dev Plans (Besides PR) ๐Ÿ“ +## Development & Contributing ๐Ÿ› ๏ธ -### ๐Ÿ”ด High Priority +### For Developers -- [ ] **Asset Generation Improvements** - Enhanced server request handling and asset pipeline optimization -- [ ] **Code Generation Enhancements** - Improved generated code quality and error handling -- [ ] **Robust Error Handling** - Comprehensive error messages, recovery mechanisms, and graceful degradation -- [ ] **Remote Connection Support** - Enable seamless remote connection between Unity host and MCP server -- [ ] **Documentation Expansion** - Complete tutorials for custom tool creation and API reference - -### ๐ŸŸก Medium Priority - -- [ ] **Custom Tool Creation GUI** - Visual interface for users to create and configure their own MCP tools -- [ ] **Advanced Logging System** - Logging with filtering, export, and debugging capabilities - -### ๐ŸŸข Low Priority - -- [ ] **Mobile Platform Support** - Extended toolset for mobile development workflows and platform-specific features -- [ ] **Easier Tool Setup** -- [ ] **Plugin Marketplace** - Community-driven tool sharing and distribution platform - -
- โœ… Completed Features - - - [x] **Shader Generation** - Generate shaders using CGProgram template - - [x] **Advanced Script Validation** - Multi-level validation with semantic analysis, namespace/type checking, and Unity best practices (Will need Roslyn Installed, see [Prerequisite](#prerequisites)). -
- -### ๐Ÿ”ฌ Research & Exploration - -- [ ] **AI-Powered Asset Generation** - Integration with AI tools for automatic 3D models, textures, and animations -- [ ] **Real-time Collaboration** - Live editing sessions between multiple developers *(Currently in progress)* -- [ ] **Analytics Dashboard** - Usage analytics, project insights, and performance metrics -- [ ] **Voice Commands** - Voice-controlled Unity operations for accessibility -- [ ] **AR/VR Tool Integration** - Extended support for immersive development workflows - ---- - -## For Developers ๐Ÿ› ๏ธ - -### Development Tools - -If you\'re contributing to MCP for Unity or want to test core changes, we have development tools to streamline your workflow: +If you're contributing to MCP for Unity or want to test core changes, we have development tools to streamline your workflow: - **Development Deployment Scripts**: Quickly deploy and test your changes to MCP for Unity Bridge and Python Server - **Automatic Backup System**: Safe testing with easy rollback capabilities - **Hot Reload Workflow**: Fast iteration cycle for core development -- **More coming!** ๐Ÿ“– **See [README-DEV.md](README-DEV.md)** for complete development setup and workflow documentation. @@ -321,15 +276,10 @@ If you\'re contributing to MCP for Unity or want to test core changes, we have d Help make MCP for Unity better! 1. **Fork** the main repository. - 2. **Create a branch** (`feature/your-idea` or `bugfix/your-fix`). - 3. **Make changes.** - 4. **Commit** (feat: Add cool new feature). - 5. **Push** your branch. - 6. **Open a Pull Request** against the main branch. --- @@ -344,12 +294,18 @@ Help make MCP for Unity better! - Check the status window: Window > MCP for Unity. - Restart Unity. - **MCP Client Not Connecting / Server Not Starting:** - - **Verify Server Path:** Double-check the --directory path in your MCP Client\'s JSON config. It must exactly match the location where you cloned the UnityMCP repository in Installation Step 1 (e.g., .../Programs/UnityMCP/UnityMcpServer/src). - - **Verify uv:** Make sure `uv` is installed and working (pip show uv). - - **Run Manually:** Try running the server directly from the terminal to see errors: `# Navigate to the src directory first! cd /path/to/your/UnityMCP/UnityMcpServer/src uv run server.py` - - **Permissions (macOS/Linux):** If you installed the server in a system location like /usr/local/bin, ensure the user running the MCP client has permission to execute uv and access files there. Installing in ~/bin might be easier. + - **Verify Server Path:** Double-check the --directory path in your MCP Client's JSON config. It must exactly match the installation location: + - **Windows:** `%USERPROFILE%\AppData\Local\UnityMCP\UnityMcpServer\src` + - **macOS:** `~/Library/AppSupport/UnityMCP/UnityMcpServer\src` + - **Linux:** `~/.local/share/UnityMCP/UnityMcpServer\src` + - **Verify uv:** Make sure `uv` is installed and working (`uv --version`). + - **Run Manually:** Try running the server directly from the terminal to see errors: + ```bash + cd /path/to/your/UnityMCP/UnityMcpServer/src + uv run server.py + ``` - **Auto-Configure Failed:** - - Use the Manual Configuration steps. Auto-configure might lack permissions to write to the MCP client\'s config file. + - Use the Manual Configuration steps. Auto-configure might lack permissions to write to the MCP client's config file.
@@ -373,4 +329,4 @@ MIT License. See [LICENSE](LICENSE) file. Coplay Logo -

+

\ No newline at end of file