Commit Graph

265 Commits (cf8f5d4dd76c8a42659fab047786ce981783f98a)

Author SHA1 Message Date
dsarno cf8f5d4dd7
Merge pull request #210 from dsarno/fix/config-stability
Config stability: preserve user configs, prefer installed server, safer uv resolution, XDG paths (Linux)
2025-08-13 19:21:02 -07:00
David Sarno 80d311ec13 chore(windows): WinGet Links resolution uses ProgramFiles (machine-wide) after LOCALAPPDATA; drop ProgramData; update comment 2025-08-13 19:15:03 -07:00
David Sarno fae347b03a revert: remove protocol framing changes from config-stability PR (keep config-only changes) 2025-08-13 19:06:33 -07:00
David Sarno 616d3998b5 chore: bump package version to 2.1.1 2025-08-13 19:02:29 -07:00
David Sarno 6e59b8fe8d fix: linux XDG config paths; prefer installed server; robust cursor detection; atomic writes; uv validation; WinGet Links ordering 2025-08-13 18:13:25 -07:00
David Sarno 6e22721d3a feat: preserve existing client config; prefer installed server path; add ResolveServerSrc; block PackageCache unless dev override; canonical uv args 2025-08-13 17:46:07 -07:00
dsarno a7af0cd9b0
Merge pull request #209 from dsarno/patch/uv-links-prefer
Windows UV stability: prefer WinGet Links, preserve pinned uv path; Claude Code unregister UI; add generic mcp_source.py
2025-08-13 14:33:07 -07:00
dsarno f8c76db9ca Fix Unity Package Manager Git URL format in mcp_source.py 2025-08-13 14:31:10 -07:00
David Sarno 370a36044d docs: update README with client-specific config flows and mcp_source.py documentation 2025-08-13 14:23:52 -07:00
David Sarno 4e1b905ea0 chore: bump version to 2.1.0; Windows uv resolver improvements; preserve existing uv command; Claude unregister UI fix; .ps1 handling; add generic mcp_source.py 2025-08-13 14:02:19 -07:00
dsarno 5583327a03 mcp_source.py: remove duplicate mac-only script; keep cross-platform argparse version (auto-detect manifest/repo; supports interactive/non-interactive) 2025-08-13 13:10:47 -07:00
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