Commit Graph

404 Commits (5488af2c992aa47a6b66f2e02f08e585dd5c93f9)

Author SHA1 Message Date
David Sarno cd707284d7 dev: add generic mcp_source.py helper to switch MCP package source (upstream/remote/local) 2025-08-13 12:47:22 -07:00
dsarno b6b8d47dfe Windows: robust Claude CLI resolution (prefer .cmd, fallback .ps1, where.exe); Unregister UX: use 'claude mcp get' exit codes; stop PATH prepend on Windows; safer detection when unregistered 2025-08-13 12:36:24 -07:00
David Sarno a2a14c179c Claude Code: after unregister, set NotConfigured, re-check, and repaint so button toggles and status updates 2025-08-13 11:54:07 -07:00
David Sarno 9a9267c128 Windows: prefer WinGet Links uv.exe and preserve existing absolute uv command during config writes 2025-08-13 11:35:31 -07:00
dsarno ce8ab83256
Merge pull request #208 from dsarno/feature/claude-cli-detection-ui
UX and Fix: Claude Code detection + UV gating (Cursor/Windsurf) + VSCode mcp.json schema
2025-08-12 21:49:33 -07:00
David Sarno b09a86f5fb WriteToConfig: only include type="stdio" for VSCode; omit for other clients 2025-08-12 21:47:11 -07:00
David Sarno a52ce7a219 VSCode manual config: use resolved uv path; VSCode parse init guards; NVM version parse robustness; help labels [HELP] 2025-08-12 21:33:43 -07:00
David Sarno eb7b2e952e chore: bump Unity MCP Bridge package version 2025-08-12 21:09:02 -07:00
David Sarno 4f9017d676 VSCode MCP: switch to mcp.json top-level servers schema; add type=stdio; robust parse/merge; Cursor/Windsurf UV gating UI; Claude Code UX polish and NVM detection 2025-08-12 20:56:22 -07:00
David Sarno 5965158533 Unity MCP: Claude Code UX improvements: dynamic not-found state with inline help link; NVM auto-detection; path picker override; hide picker after detection; remove auto-connect toggle. 2025-08-12 19:04:47 -07:00
dsarno 86198a0484
Merge pull request #206 from dsarno/feat/local-resolution-and-claude-cli
Feat: Local-only package resolution + Claude CLI resolver; quieter installer logs
2025-08-12 12:19:02 -07:00
David Sarno bd6114b436 fix(claude): treat 'already exists' as success; improve IsClaudeConfigured using ExecPath on all OSes 2025-08-12 12:14:48 -07:00
David Sarno efd146ab53 fix: Windows define UNITY_EDITOR_WIN; async stdout/stderr in TryRun and RepairPythonEnvironment; use EnvironmentVariables for PATH; prepend Unix PATH only on macOS/Linux; fix duplicate .meta GUIDs 2025-08-12 11:56:46 -07:00
David Sarno f6f8b24371 chore(uv): prepend ~/.local/bin and common bins to PATH for 'which uv' in GUI env 2025-08-12 10:48:46 -07:00
David Sarno 6b3a20dd78 chore(package): add .meta files for new helpers and bump version to 2.0.1 2025-08-12 10:34:34 -07:00
dsarno 5b8c1a1cd0
Merge branch 'CoplayDev:main' into feat/local-resolution-and-claude-cli 2025-08-12 10:25:14 -07:00
David Sarno 8984ab95bc feat: local-only package resolution + Claude CLI resolver; quieter install logs; guarded auto-registration 2025-08-12 08:32:51 -07:00
dsarno 642210cc2a
Merge pull request #202 from dsarno/fix-read-console
Fix: ReadConsole tool: stable log severity classification and reliable console reads across Unity versions
2025-08-11 17:43:15 -07:00
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