Commit Graph

33 Commits (a65f10383ab5ec381adcbb6f8167f9e5c9d3a385)

Author SHA1 Message Date
David Sarno a65f10383a feat(bridge): embed Python server into package and remove Git-based installer
- Switch ServerInstaller to embedded copy-only (no network)
- Simplify Editor UI server status to 'Installed (Embedded)'
- Vendor UnityMcpServer/src into UnityMcpBridge/UnityMcpServer/src for UPM distribution
- Keep bridge recompile robustness (heartbeat + sticky port)
2025-08-08 08:08:30 -07:00
David Sarno a0fd9199bb Add meta for PackageInstaller so Unity includes it in package cache 2025-08-07 19:09:52 -07:00
David Sarno 673bc1bd49 Add PackageInstaller for automatic Python server installation on first package load 2025-08-07 19:06:12 -07:00
David Sarno 32274a3965 UnityMCP stability: robust auto-restart on compile/play transitions; stop on domain reload; start/stop locking; per-project sticky ports + brief release wait; Python discovery scans hashed+legacy files and probes; editor window live status refresh. 2025-08-07 15:53:53 -07: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 68efdf1bfe Clean up comment formatting in GameObjectSerializer 2025-07-25 02:26:24 -04: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 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
Justin Barnett b2f65f2ffc added public helper methods for project versions 2025-04-09 07:42:43 -04:00
Justin Barnett 99f38e21bd PR prep 2025-04-08 20:55:22 -04:00
Justin Barnett 8c50e01add update update path 2025-04-08 15:23:46 -04:00
Justin Barnett a3f1926338 pass content, not path 2025-04-08 15:19:52 -04:00
Justin Barnett 2f260861df update pyproject.toml path 2025-04-08 15:17:26 -04:00
Justin Barnett 64b771210b update version analysis 2025-04-08 15:13:41 -04:00
Justin Barnett f446b502ee removed logging 2025-04-08 15:02:59 -04:00
Justin Barnett e9bc45c0df updated PyprojectUrl 2025-04-08 14:20:54 -04:00
Justin Barnett d5917bdbec added loging, updated paths 2025-04-08 14:12:30 -04:00
Justin Barnett 3199421586 removed python and uv check during install 2025-04-08 14:03:56 -04:00
Justin Barnett 7b303b5ba3 update pyproject.toml get location 2025-04-08 11:44:12 -04:00
Justin Barnett e4ccf614c5 update server save location, again 2025-04-08 11:41:14 -04:00
Justin Barnett 0aa191c7e3 update pyproject name and save location again 2025-04-08 11:10:01 -04:00
Justin Barnett b8c8910323 update install location 2025-04-08 10:56:05 -04:00
Justin Barnett b36c4576d9 only install UnityMcpServer folder, not whole repo 2025-04-08 10:48:39 -04:00
Justin Barnett 33b6486b70 backslashes for windows 2025-04-08 10:39:14 -04:00
Justin Barnett 2f6d748607 updated server install process 2025-04-08 10:33:14 -04:00
Justin Barnett 99ceb49ac3 update server install process 2025-04-08 09:46:34 -04:00
Justin Barnett 7beaab1fcb updated GitUrl to include branch name 2025-04-08 08:59:26 -04:00
Justin Barnett 8a89f55daf update installer to account for different os 2025-04-08 07:52:44 -04:00
Justin Barnett 61a7cb9e28 added remote install of python server 2025-04-08 07:22:24 -04:00
Justin Barnett cb603b7b1a restructured project
- moved Unity package and Python application into separate folders to be
downloaded separately using clone .git/UnityMcpBridge
2025-04-08 06:14:13 -04:00