Marcus Sanatan
14a6cbaeb4
Support kiro ( #221 )
...
* Add a base Unity project to run unit tests in
* Add Windsurf IDE support so I can test more easily
* Add a dummy script
* feat: add unit tests for CommandRegistry and document prefab asset workflows
* Run tests when code is pushed to main
* Bump version of actions
* Install the MCP plugin via relative path
* Remove test branch from GH workflow
* Remove blank package.json files at the top level directory
* Add Kiro support, closes #196
2025-08-15 21:26:12 -04:00
Jos van der Westhuizen
c9d30daf62
Update package.json -- add discord link
2025-08-15 10:08:24 -05:00
GitHub Actions
60a2ed4749
chore: bump version to 2.1.2
2025-08-14 23:19:31 +00:00
Marcus Sanatan
ce39ca6d49
Revert "Bump version because we have a name change"
...
This reverts commit 148fa8b431 .
We'll test the actions that bumps the version and tags the repo
2025-08-14 18:48:51 -04:00
Marcus Sanatan
148fa8b431
Bump version because we have a name change
2025-08-14 18:29:22 -04:00
Marcus Sanatan
b735210d9d
Update required Unity version and package name
...
Closes #213
2025-08-14 18:13:21 -04: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
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
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
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
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
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
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
a506f9b346
Update package.json version to 2.0.0
2025-08-11 12:30:36 -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
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
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
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
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