Commit Graph

286 Commits (742d168b518427d31c3341affbc81396af12417a)

Author SHA1 Message Date
David Sarno ae87e3f3b2 read_console: remove dead types.Contains("all") branch; compute want directly from unityType (Exception/Assert treated as errors) 2025-08-11 17:26:51 -07:00
David Sarno 46f616df90 read_console: correct compiler diagnostic categorization (CSxxxx), preserve Debug.Log as Log without mode fallback, add explicit Debug.Log detection helper 2025-08-11 16:57:41 -07:00
dsarno 6439902d8d
Merge branch 'CoplayDev:main' into fix-read-console 2025-08-11 13:59:17 -07:00
dsarno 0743e64a3c
Merge pull request #201 from dsarno/main
Update package.json version to 2.0.0
2025-08-11 12:32:02 -07:00
dsarno a506f9b346 Update package.json version to 2.0.0 2025-08-11 12:30:36 -07:00
dsarno bbbc26a17f
Merge pull request #192 from dsarno/feat/bridge-stability
Harden MCP Bridge: reliable reloads, sticky port, embedded server, cleaner Auto‑Setup UI
2025-08-11 11:46:01 -07:00
David Sarno 1938756844 server: centralize reload-aware retries and single-source retry_after_ms via config; increase default retry window (40 x 250ms); preserve structured reloading failures 2025-08-10 22:49:24 -07:00
David Sarno dc6171dfe6 ReadConsole: lock Debug.Log classification to Log; avoid bit-based fallback when stacktrace shows Debug:Log
- Detect explicit Debug.Log in stacktrace (UnityEngine.Debug:Log)
- Do not downgrade/upgrade to Warning via mode bits for editor-originated logs
- Keeps informational setup lines (e.g., MCP registration, bridge start) as Log
2025-08-10 20:12:45 -07:00
David Sarno a40db48132 ReadConsole: stable severity classification and filtering across Unity versions
- Classify severity via stacktrace/message first (LogError/LogWarning/Exception/Assertion), with safe fallback to mode-bit mapping
- Fix error/warning/log mapping; treat Exception/Assert as errors for filtering
- Return the current console buffer reliably and remove debug spam
- No changes outside ReadConsole behavior
2025-08-10 19:45:24 -07:00
dsarno b179ce1ed8
Merge branch 'main' into feat/bridge-stability 2025-08-10 11:57:07 -07:00
dsarno 97614e7277
Update README.md
Added new image of MCP Editor window to README
2025-08-09 15:54:55 -07:00
dsarno 24ed3a2e2a docs: update README(s) for Auto-Setup and dev cache path 2025-08-09 15:38:11 -07:00
David Sarno 07b35837b7 Bridge: deferred init, stop-before-reload, breadcrumb logs; stable rebinds.
Editor: auto-rewrite MCP client config when package path changes.

Server: heartbeat-aware retries, structured {state: reloading, retry_after_ms}, single auto-retry across tools; guard empty calls.

Repo: remove global *~ ignore (was hiding UnityMcpServer~), track tilde server folder (Unity still excludes it from assemblies).
2025-08-09 15:09:49 -07:00
David Sarno 32f513f10d Merge branch 'feat/bridge-stability' of https://github.com/dsarno/unity-mcp into feat/bridge-stability
* 'feat/bridge-stability' of https://github.com/dsarno/unity-mcp:
  Bridge logs: add bold blue UNITY-MCP prefix; gate PortManager logs behind Debug Logs toggle; improve Python and UV detection on Windows (flex versions, where.exe/Path scan); tidy installer messages
2025-08-09 13:00:26 -07:00
David Sarno 9da9739751 Package Python server under UnityMcpServer~; remove redundant .meta files; delete old root UnityMcpServer; update editor lookup for tilde path; adjust deploy/restore scripts; remove orphan meta 2025-08-09 12:49:32 -07:00
David Sarno c0de38e1e7 Merge upstream/main: CoplayDev rebrand with bridge stability improvements
This merge combines upstream's organizational rebrand and updates with
our comprehensive bridge stability improvements:

**From Upstream:**
- CoplayDev organizational rebrand (README, LICENSE, documentation)
- Updated logo and deployment scripts
- Python version pinning (.python-version file)

**From Our Branch (Preserved):**
- Comprehensive bridge stability improvements (threading, heartbeat, retries)
- Enhanced debugging and diagnostic features
- Embedded server installation approach (more reliable than git-based)
- Broader Python compatibility (>=3.10 vs >=3.12)
- Advanced port management with per-project persistence
- Auto-setup and connection reliability features
- Robust error handling and recovery mechanisms

**Key Technical Decisions:**
- Used our comprehensive UnityMcpBridge.cs (625 lines vs 473) with all stability features
- Maintained embedded server approach over upstream's git-based installer
- Preserved broader Python compatibility (>=3.10) for better accessibility
- Used our optimized connection settings and retry logic
- Kept our user-centric server installation approach (on-demand vs automatic)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-09 12:05:47 -07:00
Jos van der Westhuizen 22ca5a79b2
Merge pull request #194 from CoplayDev/jos/readme
Update README.md
2025-08-09 09:20:54 -07:00
Jos van der Westhuizen 9a5d62128a
Update README.md 2025-08-09 12:20:05 -04:00
dsarno 4c72309dc8 Bridge logs: add bold blue UNITY-MCP prefix; gate PortManager logs behind Debug Logs toggle; improve Python and UV detection on Windows (flex versions, where.exe/Path scan); tidy installer messages 2025-08-08 15:09:18 -07:00
David Sarno f24e124c15 MCP: Embedded server reliability and UX\n\n- Embed-first installer: copies embedded server, adds RepairPythonEnvironment() (deletes .venv, runs 'uv sync'); robust uv path discovery; macOS install path -> Application Support\n- UI: Server Status shows Installed(Embedded); Python missing warning with install link; Repair button tooltip; header Show Debug Logs; cleaned layout\n- Python: unpin .python-version; set requires-python >=3.10 in both pyprojects\n- Dev: improved package/dev path resolution 2025-08-08 14:16:25 -07:00
Marcus Sanatan 3288418bbf chore: update package metadata and license to CoplayDev organization 2025-08-08 15:54:43 -04:00
Marcus Sanatan a0bef61224
Merge pull request #191 from msanatan/feature/update-package-and-docs
Update docs and package
2025-08-08 15:49:08 -04:00
Marcus Sanatan 49b0a5397d docs: add Windsurf to list of supported code editors 2025-08-08 15:42:52 -04:00
Marcus Sanatan 7087797952 docs: improve README formatting and add note about package reinstallation 2025-08-08 15:39:12 -04:00
Marcus Sanatan 823bae624f docs: fix escape character in README error message 2025-08-08 15:19:11 -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 cf86964d4d chore: revise documentation 2025-08-08 14:58:41 -04:00
Marcus Sanatan c08e4a42a8 Merge branch 'master' into feature/update-readme 2025-08-08 14:35:45 -04:00
David Sarno 06f271926b feat(editor): 2x2 layout (Server/Bridge | Clients/Validation), Auto-Setup with Connected ✓ state; add Debug Logs toggle and gate verbose logs
fix(bridge): reuse stored port in StartAutoConnect; guard listener stop to avoid ObjectDisposedException

chore(clients): reorder dropdown to Cursor, Claude Code, Windsurf, Claude Desktop, VSCode
2025-08-08 11:23:45 -07:00
David Sarno 2f387d3417 chore(ui): rename 'Re-Run Client Setup' to 'Bind to Clients' 2025-08-08 10:49:01 -07:00
David Sarno 10903a2d48 fix(setup): reuse stored project port in StartAutoConnect to avoid port changes during client setup 2025-08-08 10:35:00 -07:00
David Sarno f4bc7cd4fd fix(ports): never hop to default when stored port busy; prefer stored port and let bind micro-retry handle release to avoid port swapping on recompiles 2025-08-08 08:37:02 -07:00
David Sarno 1b892dcf49 fix(ports): write both hashed and legacy port files; compare project paths case-insensitively to prevent sticky-port drift across reloads 2025-08-08 08:32:20 -07:00
David Sarno 85202d4ccb fix(editor): only treat dev mode when manifest uses file: path for package; remove dev-mode logs under UPM 2025-08-08 08:24:50 -07:00
David Sarno 57592017ae fix(bridge): prefer persisted project port at start to avoid initial 6400 blip after UPM import 2025-08-08 08:18:33 -07:00
David Sarno 5c632f0ab3 fix(package): add UnityMcpServer folder meta; remove stray egg-info meta 2025-08-08 08:12:57 -07:00
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
Marcus Sanatan 8e413582a9
Merge pull request #188 from msanatan/feature/remove-sponsorships
Remove GitHub funding configuration file
2025-08-07 21:05:42 -04:00
Marcus Sanatan 11c12e03e6 Remove GitHub funding configuration file
Coplay will be directly sponsoring this repo from now on.
Huge thanks to Justin once again, and thank you everyone for your support!
2025-08-07 21:01:42 -04:00
David Sarno 5c4ea29fc7 Editor Window: streamline layout, remove redundant badges; move and rename auto-run toggle to client section ("Auto-connect to MCP Clients"); rename button to "Run Client Setup"; fix dev-mode status by using FindPackagePythonDirectory() for Claude/Desktop path checks 2025-08-07 17:43:33 -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
Marcus Sanatan b7ea2c88e3 docs: update license link to use relative path 2025-08-06 21:18:35 -04:00
Marcus Sanatan 164bba43df style: adjust Coplay logo size and container element in README 2025-08-06 21:14:10 -04:00
Marcus Sanatan 39ec588cbe Try logo at 50% width 2025-08-06 20:59:47 -04:00
Marcus Sanatan 3dcaeca362 docs: add Coplay sponsorship and logo to README 2025-08-06 20:59:02 -04:00
Marcus Sanatan c6969fdc52 docs: update repository links and Discord invite to CoplayDev organization 2025-08-06 20:48:57 -04:00