Commit Graph

74 Commits (3288418bbfcfa39cfc6b22daaaf6b6ca1ebd7c81)

Author SHA1 Message Date
Marcus Sanatan 3288418bbf chore: update package metadata and license to CoplayDev organization 2025-08-08 15:54:43 -04:00
Marcus Sanatan 94df819e61 fix: update package name from com.CoplayDev.unity-mcp to com.coplaydev.unity-mcp to comply with Unity package naming standards 2025-08-08 15:13:47 -04:00
Marcus Sanatan 5d148a7462 chore: update repository URLs and package name to use correct CoplayDev casing and main branch 2025-08-08 15:06:35 -04:00
Marcus Sanatan 6faa55f825 chore: update package namespace from justinpbarnett to coplaydev 2025-08-08 14:59:30 -04:00
Marcus Sanatan 2b69eb1595 Merge branch 'master' into fix-on-focus-config-check 2025-08-01 23:12:03 -04:00
Marcus Sanatan 80b7d811b0 fix: only check MCP configuration for selected client on window focus 2025-08-01 23:11:04 -04:00
Marcus Sanatan 1a7e92f62b
Add safeguard for null refs
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-01 08:20:52 -04:00
Marcus Sanatan 03ed78caef feat: add Windsurf IDE support with configuration paths and UI instructions 2025-08-01 08:12:07 -04:00
dsarno 94bbc9873c Improve Windows compatibility and code cleanup
- Enhanced Windows support for UV and Claude executable detection with OS-specific path handling
- Added PowerShell integration for Windows command execution with proper PATH environment setup
- Implemented comprehensive UV path scanning for various installation methods (Python, Chocolatey, Scoop, Cargo, etc.)
- Added executable validation using IsValidUvInstallation() method
- Improved Claude path detection with fallback to PowerShell's Get-Command
- Enhanced configuration path handling with Windows-specific paths and cross-platform normalization
- Cleaned up exception handling by removing unused exception variables
- Fixed method signature in VSCodeManualSetupWindow

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 13:01:17 -07:00
Scriptwonder 32e4b2642f Unity-MCP AutoConnect
Autoconnect feature to prevent the port being taken by other applications.
2025-07-29 00:17:36 -04:00
Scriptwonder 92ad2c5031 Minor Changes
Add successfully registration info and reorder the seleciton
2025-07-28 18:30:33 -04:00
Scriptwonder 7dbb03b84e Update UnityMcpEditorWindow.cs
Prevention for CLI to be found on Windows.
2025-07-28 18:11:23 -04:00
David Sarno 2749b4e0c0 feat: Add comprehensive UV error handling and installation guidance
- Enhanced FindUvPath() to return null when UV is not found
- Added detailed installation instructions for all platforms
- Implemented null checks in all UV usage points
- Added cross-platform path resolution for Windows, macOS, and Linux
- Improved user experience with clear error messages instead of silent failures
- Prevents 'spawn uv ENOENT' errors by using full paths and proper validation
2025-07-28 11:55:08 -07:00
David Sarno cb59b08b51 Add Claude Code support with register/unregister toggle
- Added Claude Code as new MCP client type
- One-click registration via 'claude mcp add' command
- Toggle button to unregister when already configured
- Cross-platform support (Windows/macOS/Linux)
- Auto-detects configuration in ~/.claude.json
2025-07-28 10:45:07 -07:00
Shutong Wu 99faaf9684
Merge branch 'master' into master 2025-07-25 14:46:25 +08:00
Scriptwonder a2ae3d51ef Update ManageGameObject.cs
Minor fix
2025-07-25 02:44:00 -04:00
Shutong Wu 757edbc5a4
Merge pull request #93 from dsarno/feature/generalize-getcomponentdata
Feature: 🔍 Enhanced Component Data Reading via Serialization
2025-07-25 14:38:30 +08:00
Scriptwonder 46d7271e3d Update ManageGameObject.cs
Update with added comments
2025-07-25 02:32:19 -04:00
Scriptwonder 37db670427 Fix missing closing brace in SetComponentPropertiesInternal method 2025-07-25 02:27:20 -04:00
Scriptwonder 68efdf1bfe Clean up comment formatting in GameObjectSerializer 2025-07-25 02:26:24 -04:00
Scriptwonder 9101105212 Code Validation Update
1. Update the code validation feature. With Roslyn installed(see guide), MCP clients will receive detailed error messages and making the code generation process more error-proof
2. Minor update to the EditorWindow, making more space for upcoming features
3. Readme update to include Code validation guides
4. Minor bug fixes including installation bugs from previous VSC PR
2025-07-23 23:31:47 -04:00
Shutong Wu 6a47945479
Merge pull request #106 from Tanichael/feature/manage-shader
Feat: Add CRUD operations for Shader files via MCP

Example Prompt: "generate a cool shader and apply it on a new cube"
2025-07-14 01:45:29 -04:00
Scriptwonder 55f7c55389 Update for ManageShader
Bug fix and error handling check for the PR. Great work and I love what I built!
2025-07-14 01:42:16 -04:00
Scriptwonder e5793a6347 Update on Readme and TODO 2025-07-13 16:06:32 -04:00
Shutong Wu fb8be3b1c5
Update ManageAsset.cs 2025-07-13 15:14:08 -04:00
Shutong Wu 8211d85563
Merge pull request #126 from xsodus/feature/vscode-ghcs-support
Feature: VSCode GitHub Copilot Support
2025-07-13 15:10:36 -04:00
Shutong Wu 558b051323
Merge pull request #131 from Sunjnn/master
Add support for creating physics material assets. Works on Unity 2022 onwards and Unity 6, since they use different naming for PhysicsMaterial(PhysicMaterial before Unity 6, and PhysicsMaterial after). 
Add naming examples on the server side

TODO: currently unity-mcp only support adding gameobject and specifying adding a physic material, and manage_gameobject.cs does not handle a detailed request such as the copied request well. Will be the future work.

Example:
{
  `name`: `BouncyCube`,
  `action`: `create`,
  `position`: [
    6,
    2,
    0
  ],
  `primitive_type`: `Cube`,
  `components_to_add`: [
    `Rigidbody`
  ],
  `component_properties`: {
    `Rigidbody`: {
      `mass`: 1,
      `useGravity`: true
    },
    `BoxCollider`: {
      `material`: `Assets/Physics Materials/SuperBouncePhysicsMaterial.physicmaterial`
    }
  }
}
2025-07-13 14:45:13 -04:00
Scriptwonder 21fbac60c2 Update for PhysicsMaterial
1. Fixing to ensure both version of PhysicMaterial works, editing PhysicsMaterial properties to camelCase
2. Add example output on server
2025-07-13 14:33:06 -04:00
Scriptwonder 7b3b562c72 Update ManageAsset.cs
Silly mistake I made with a rush to fix the previous bug, will be more cautious and run through the test in the future.
2025-07-08 02:37:08 -04:00
Shutong Wu 1e8862aa4b Update ManageAsset.cs 2025-07-07 15:43:34 -04:00
Scriptwonder 85c947a34e Minor Bug Fix
1. Solve the IDE/Unity miscommunication for the _Color and menuPath params
2. TODOs: Fix readme, look into more issues, bring back tool dev tutorial, view pull request and set a future roadmap
2025-07-06 19:51:12 -04:00
亭鹤 77ed43bac5 docs: add summary for ApplyPhysicsMaterialProperties method 2025-05-22 19:48:16 +08:00
亭鹤 d1249cb281 feat: add support for creating PhysicsMaterial assets 2025-05-22 17:23:12 +08:00
xsodus a880bf485b Refactor configuration handling in UnityMcpEditorWindow to streamline JSON serialization and improve client type management 2025-05-12 15:05:56 +07:00
xsodus 48a865d386 Remove redundant field definitions inherited from ManualConfigEditorWindow in VSCodeManualSetupWindow 2025-05-12 09:34:27 +07:00
xsodus 861e6bc62c Refactor VSCodeManualSetupWindow to inherit from ManualConfigEditorWindow and override methods for improved functionality 2025-05-12 09:34:04 +07:00
xsodus d63eb7d4e4 Add metadata file for VSCodeManualSetupWindow with file format version and GUID 2025-05-12 09:25:01 +07:00
xsodus b4910be508 Refactor VSCode configuration to use lowercase 'unityMCP' and improve argument checking 2025-05-12 09:24:10 +07:00
xsodus 619172ad99 Add VSCode GitHub Copilot support and configuration window
- Updated McpTypes to include VSCode.
- Enhanced McpClients to handle VSCode configuration paths.
- Implemented VSCodeManualSetupWindow for user instructions and JSON configuration.
- Modified UnityMcpEditorWindow to support VSCode-specific setup and configuration.
- Updated .gitignore to include .DS_Store files.
2025-05-12 08:25:21 +07:00
toma.tanigawa d4bd504e31 Add: MCP Bridge part of shader management tool 2025-04-18 20:24:46 +09:00
David Sarno 3063d54071 fix: Improved component data retrieval with special handling for Transform and Camera components to prevent serialization crashes 2025-04-10 13:10:10 -07:00
David Sarno 51eb59f04f Fix(MCP): Resolve ValidTRS crash during component serialization
The Unity Editor was crashing with ValidTRS() assertions when attempting to get components from certain GameObjects like the Main Camera.

Investigation revealed the crash occurred during JSON serialization when reflection code accessed specific matrix properties (e.g., Camera.cullingMatrix, Transform.rotation, Transform.lossyScale). Accessing these properties appears to trigger internal Transform state validation failures, potentially due to interactions with the JSON serializer's reflection mechanism.

This fix addresses the issue by:

- Replacing LINQ iteration in GetComponentsFromTarget with a standard loop over a copied list to prevent potential premature serialization interactions.

- Explicitly skipping known problematic Camera matrix properties (cullingMatrix, pixelRect, rect) and generic matrix properties (worldToLocalMatrix, localToWorldMatrix) within GetComponentData's reflection logic.

- Retaining manual serialization for Transform component properties to avoid related reflection issues.
2025-04-10 12:53:01 -07:00
David Sarno bd850729c6 Fix: Add missing Runtime assembly and related files 2025-04-10 10:07:20 -07:00
David Sarno 0433b88f68 Fix: Add missing .meta file for GameObjectSerializer 2025-04-10 09:45:56 -07:00
David Sarno dd0113d258 Refactor: Extract GameObject/Component serialization to GameObjectSerializer helper
Moved serialization logic (GetGameObjectData, GetComponentData, metadata caching, JSON conversion helpers) from ManageGameObject tool to a dedicated GameObjectSerializer class in the Helpers namespace.

This improves separation of concerns and reduces the size/complexity of ManageGameObject.cs. Updated ManageGameObject to use the new helper class.
2025-04-10 09:42:42 -07:00
David Sarno 15ba68f473 feat: Improve GameObject serialization and add includeNonPublicSerialized flag 2025-04-10 08:12:20 -07:00
David Sarno 9b11224357 Feat: Generalize GetComponentData using reflection 2025-04-09 19:58:42 -07:00
Justin Barnett 4a3f4e7301 linting and removed unused properties 2025-04-09 09:10:21 -04:00
Justin Barnett 52c75f9521 added project install status and re-added connection check 2025-04-09 07:43:01 -04:00
Justin Barnett b2f65f2ffc added public helper methods for project versions 2025-04-09 07:42:43 -04:00