Commit Graph

552 Commits (5511a2b8ad16819089e4803f04f518fdb94e5add)

Author SHA1 Message Date
dsarno c7d421842c
Merge pull request #239 from dsarno/fix/installer-cleanup-v2
feat: installer cleanup, auto-migration of legacy server location to canonical, server logging normalization
2025-08-25 22:25:30 -07:00
David Sarno a7d7bcdc42 Editor: on macOS, prefer macConfigPath in ManualConfigEditorWindow (fallback to linux path); Linux/Windows unchanged. 2025-08-25 16:56:43 -07:00
David Sarno 88b6390359 Models: add macConfigPath to McpClient for macOS config path selection (fixes CS1061 in editor window). 2025-08-25 16:49:42 -07:00
David Sarno 99d7a120c9 Editor: use macConfigPath on macOS for MCP client config writes (Claude Desktop, etc.). Fallback to linuxConfigPath only if mac path missing. 2025-08-25 15:26:06 -07:00
David Sarno daa105da35 Fix Claude Desktop config path and atomic write issues
- Fix macOS path for Claude Desktop config: use ~/Library/Application Support/Claude/ instead of ~/.config/Claude/
- Improve atomic write pattern with backup/restore safety
- Replace File.Replace() with File.Move() for better macOS compatibility
- Add proper error handling and cleanup for file operations
- Resolves issue where installer couldn't find Claude Desktop config on macOS
2025-08-25 14:51:03 -07:00
David Sarno aa4fc1c0ea Server: set server_version.txt to 3.0.1 2025-08-24 14:19:34 -07:00
David Sarno ad5c3112ca MCP: Fix macOS paths and VSCode manual setup
Normalize macOS to Application Support; use AppSupport symlink for Cursor args

Map XDG (~/.local/share, ~/.config) to Application Support

VSCode manual: show mcp.json path; use top-level servers JSON

VSCode macOS path: ~/Library/Application Support/Code/User/mcp.json
2025-08-24 14:18:08 -07:00
David Sarno 01ea2f46ac refactor(installer): revert to lean installer logic from ee23346c; fix macOS path via Application.platform; escape pgrep pattern 2025-08-24 11:47:04 -07:00
David Sarno ce1104e9e7 feat(installer): rewire known configs (EditorPrefs, Cursor mcp.json) to canonical path; then remove legacy if unreferenced 2025-08-24 11:39:01 -07:00
David Sarno 755e1d784b chore(version): bump server_version.txt to 3.0.5 2025-08-24 11:32:13 -07:00
David Sarno 48c1b7a51e fix(installer): use Application.platform for OS detection; add canonical root logs; fallback to RuntimeInformation 2025-08-24 11:31:38 -07:00
David Sarno 86b4dc14bc chore(logging): include OS and server version in MCP bridge start log 2025-08-24 11:28:47 -07:00
David Sarno 58ed4d4e13 chore(server): bump server_version.txt to 3.0.4 2025-08-24 11:11:27 -07:00
David Sarno 4da30cc43b bump server version 2025-08-24 11:00:58 -07:00
David Sarno 576dba407a Merge branch 'main' of https://github.com/CoplayDev/unity-mcp into fix/installer-cleanup-v2
* 'main' of https://github.com/CoplayDev/unity-mcp:
  Improve Windsurf MCP Config (#231)
2025-08-24 10:07:04 -07:00
David Sarno 742d168b51 sec(installer): escape server path in pgrep pattern to prevent injection/regex issues 2025-08-24 09:46:54 -07:00
David Sarno 175d5ae150 chore(editor): WriteToConfig honors pythonDir; robust config match; remove unused helpers 2025-08-24 09:44:39 -07:00
David Sarno f21c2cedd5 fix(installer): skip legacy deletion when still referenced in prefs or Cursor config 2025-08-24 09:40:29 -07:00
Marcus Sanatan 22fe9dfbdb
Improve Windsurf MCP Config (#231)
* Move the current test to a Tools folder

* feat: add env object and disabled flag handling for MCP client configuration

* Format manual config specially for Windsurf and Kiro

* refactor: extract config JSON building logic into dedicated ConfigJsonBuilder class

* refactor: extract unity node population logic into centralized helper method

* refactor: only add env property to config for Windsurf and Kiro clients

If it ain't broke with the other clients, don't fix...

* fix: write UTF-8 without BOM encoding for config files to avoid Windows compatibility issues

* fix: enforce UTF-8 encoding without BOM when writing files to disk
2025-08-24 06:57:11 -04:00
David Sarno ee23346ca2 feat: installer cleanup, auto-migration, logging normalization 2025-08-23 22:13:47 -07:00
GitHub Actions 97fb4a775e chore: bump version to 3.0.0 2025-08-21 00:42:06 +00:00
Marcus Sanatan eeb67e8656
Don't ignore the package's README (#230) 2025-08-20 18:26:51 -04:00
Marcus Sanatan ae13ef41d5
Rename namespace and public facing plugin output from "Unity MCP" to "MCP for Unity" (#225)
* refactor: rename namespace from UnityMcpBridge to MCPForUnity across all files

See thread in #6, we can't use Unity MCP because it violates their trademark.
That name makes us look affiliated. We can use MCP for Unity

* Change package display name, menu item and menu titles

These are front facing so has to change for Unity asset store review

* Misc name changes in logs and comments for better consistency

* chore: update editor window title from 'MCP Editor' to 'MCP for Unity'

* refactor: update branding from UNITY-MCP to MCP-FOR-UNITY across all log messages and warnings

* chore: rename Unity MCP to MCP For Unity across all files and bump version to 2.1.2

* docs: update restore script title to clarify Unity MCP naming

* Fix usage instructions

* chore: update log messages to use MCP For Unity branding instead of UnityMCP

* Add a README inside plugin, required for distributing via the asset store

* docs: update Unity port description and fix typo in troubleshooting section

* Address Rabbit feedback

* Update Editor prefs to use new name

Prevents overlap with other Unity MCPs, happy to revert if it's too much

* refactor: rename server logger and identifier from unity-mcp-server to mcp-for-unity-server

* Standardize casing of renamed project to "MCP for Unity", as it is on the asset store

* Remove unused folder

* refactor: rename Unity MCP to MCP for Unity across codebase

* Update dangling references

* docs: update product name from UnityMCP to MCP for Unity in README

* Update log and comments for new name
2025-08-20 15:59:49 -04:00
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
Marcus Sanatan ce53639090
Set up Unit tests (#220)
* 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
2025-08-15 21:24:55 -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 df07716c75
Merge pull request #219 from msanatan/feature/open-upm
Adjust the package before publishing on OpenUPM
2025-08-14 19:06:09 -04:00
Marcus Sanatan ed63c245b3 Improve README formatting 2025-08-14 19:02:25 -04:00
Marcus Sanatan a6e0eb669a Improve echo line
Replaced a bit too aggressively lol
2025-08-14 19:00:29 -04: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 79389d832e feat: add workflow for version bumping 2025-08-14 18:48:24 -04:00
Marcus Sanatan 148fa8b431 Bump version because we have a name change 2025-08-14 18:29:22 -04:00
Marcus Sanatan 3fd59e3927 docs: add OpenUPM installation option 2025-08-14 18:18:33 -04:00
Marcus Sanatan b735210d9d Update required Unity version and package name
Closes #213
2025-08-14 18:13:21 -04:00
dsarno b33ae0b170
Merge pull request #212 from CoplayDev/dsarno-readme-patch-1
Update README.md
2025-08-14 07:29:33 -07:00
dsarno 108dd80883
Update README.md
slight cleanup
2025-08-14 07:29:17 -07:00
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