unity-mcp/MCPForUnity/Editor/Services
dsarno cb08b0c59b
fix: Claude Code registration, thread-safety, and auto-detect beta server (#664) (#667)
* Fix Git URL in README for package installation

Updated the Git URL for adding the package to include the branch name.

* fix: Clean up Claude Code config from all scopes to prevent stale config conflicts (#664)

- Add RemoveFromAllScopes helper to remove from local/user/project scopes
- Use explicit --scope local when registering
- Update manual snippets to show multi-scope cleanup
- Handle legacy 'unityMCP' naming in all scopes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Make Claude Code status check thread-safe (#664)

The background thread status check was accessing main-thread-only Unity
APIs (Application.platform, EditorPrefs via HttpEndpointUtility and
AssetPathUtility), causing "GetString can only be called from main thread"
errors.

Now all main-thread-only values are captured before Task.Run() and passed
as parameters to CheckStatusWithProjectDir().

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Persist client dropdown selection and remove dead IO code

- Remember last selected client in EditorPrefs so it restores on window
  reopen (prevents hiding config issues by defaulting to first client)
- Remove dead Outbound class, _outbox BlockingCollection, and writer
  thread that was never used (nothing ever enqueued to outbox)
- Keep only failure IO logs, remove verbose success logging

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Auto-detect beta package to enable UseBetaServer + workflow updates

- Add IsPreReleaseVersion() helper to detect beta/alpha/rc package versions
- UseBetaServer now defaults to true only for prerelease package versions
- Main branch users get false default, beta branch users get true default
- Update beta-release.yml to set Unity package version with -beta.1 suffix
- Update release.yml to merge beta → main and strip beta suffix
- Fix CodexConfigHelperTests to explicitly set UseBetaServer for determinism
- Use EditorConfigurationCache consistently for UseBetaServer access

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Address code review feedback for thread-safety and validation

- Add thread-safe overloads for GetBetaServerFromArgs/List that accept
  pre-captured useBetaServer and gitUrlOverride parameters
- Use EditorConfigurationCache.SetUseBetaServer() in McpAdvancedSection
  for atomic cache + EditorPrefs update
- Add semver validation guard in beta-release.yml before version arithmetic
- Add semver validation guard in release.yml after stripping prerelease suffix

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Complete thread-safety for GetBetaServerFromArgs overloads

- Add packageSource parameter to thread-safe overloads to avoid calling
  GetMcpServerPackageSource() (which uses EditorPrefs) from background threads
- Apply quoteFromPath logic to gitUrlOverride and packageSource paths to
  handle local paths with spaces correctly

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Patch legacy connection pool in transport tests to prevent real Unity discovery

The auto-select tests were failing because they only patched PluginHub
but not the fallback legacy connection pool discovery. When PluginHub
returns no results, the middleware falls back to discovering instances
via get_unity_connection_pool(), which found the real running Unity.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 15:35:01 -08:00
..
Server Remote server auth (#644) 2026-01-30 18:39:21 -04:00
Transport fix: Claude Code registration, thread-safety, and auto-detect beta server (#664) (#667) 2026-02-02 15:35:01 -08:00
BridgeControlService.cs Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
BridgeControlService.cs.meta New UI and work without MCP server embedded (#313) 2025-10-11 03:08:16 -04:00
ClientConfigurationService.cs Fix HTTP/Stdio Transport UX and Test Bug (#530) 2026-01-07 23:33:22 -04:00
ClientConfigurationService.cs.meta New UI and work without MCP server embedded (#313) 2025-10-11 03:08:16 -04:00
EditorConfigurationCache.cs fix: Claude Code registration, thread-safety, and auto-detect beta server (#664) (#667) 2026-02-02 15:35:01 -08:00
EditorConfigurationCache.cs.meta Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
EditorPrefsWindowService.cs Add EditorPrefs management window for MCP configuration debugging (#491) 2025-12-29 13:30:45 -04:00
EditorPrefsWindowService.cs.meta Add EditorPrefs management window for MCP configuration debugging (#491) 2025-12-29 13:30:45 -04:00
EditorStateCache.cs fix: comprehensive performance optimizations, claude code config, and stability improvements (issue #577) (#595) 2026-01-20 18:11:25 -08:00
EditorStateCache.cs.meta Async Test Infrastructure & Editor Readiness Status + new refresh_unity tool (#507) 2026-01-03 12:42:32 -08:00
HttpBridgeReloadHandler.cs Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
HttpBridgeReloadHandler.cs.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
IBridgeControlService.cs HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
IBridgeControlService.cs.meta New UI and work without MCP server embedded (#313) 2025-10-11 03:08:16 -04:00
IClientConfigurationService.cs Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
IClientConfigurationService.cs.meta New UI and work without MCP server embedded (#313) 2025-10-11 03:08:16 -04:00
IPackageDeploymentService.cs [FEATURE] Deployment of local source code to Unity (#450) 2025-12-09 20:17:18 -05:00
IPackageDeploymentService.cs.meta [FEATURE] Deployment of local source code to Unity (#450) 2025-12-09 20:17:18 -05:00
IPackageUpdateService.cs HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
IPackageUpdateService.cs.meta Notify users when there's a new version (#329) 2025-10-18 20:42:18 -04:00
IPathResolverService.cs fix: resolve Claude Code HTTP Remote UV path override not being detected in System Requirements .#550 2026-01-17 18:34:40 -05:00
IPathResolverService.cs.meta New UI and work without MCP server embedded (#313) 2025-10-11 03:08:16 -04:00
IPlatformService.cs Remove old UI and do lots of cleanup (#340) 2025-10-24 00:50:29 -04:00
IPlatformService.cs.meta Remove old UI and do lots of cleanup (#340) 2025-10-24 00:50:29 -04:00
IResourceDiscoveryService.cs Display resources (#658) 2026-01-30 20:31:35 -04:00
IResourceDiscoveryService.cs.meta Display resources (#658) 2026-01-30 20:31:35 -04:00
IServerManagementService.cs Fix local HTTP server UI check (#556) 2026-01-14 19:57:17 -08:00
IServerManagementService.cs.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
ITestRunnerService.cs Add test filtering to run_tests tool (#462) 2025-12-17 16:59:21 -04:00
ITestRunnerService.cs.meta Add testing and move menu items to resources (#316) 2025-10-13 11:16:43 -04:00
IToolDiscoveryService.cs Optimise so startup is fast again (#494) 2025-12-29 18:39:03 -04:00
IToolDiscoveryService.cs.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
MCPServiceLocator.cs Display resources (#658) 2026-01-30 20:31:35 -04:00
MCPServiceLocator.cs.meta New UI and work without MCP server embedded (#313) 2025-10-11 03:08:16 -04:00
McpEditorShutdownCleanup.cs Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
McpEditorShutdownCleanup.cs.meta HTTP setup overhaul: transport selection (HTTP local/remote vs stdio), safer lifecycle, cleaner UI, better Claude Code integration (#499) 2026-01-01 17:08:51 -08:00
PackageDeploymentService.cs Fixes Windows installation failures caused by long path issues when cloning the full repository via git URL (MAX_PATH 260 char limit exceeded by files in TestProjects/). (#534) 2026-01-08 07:14:44 -08:00
PackageDeploymentService.cs.meta [FEATURE] Deployment of local source code to Unity (#450) 2025-12-09 20:17:18 -05:00
PackageUpdateService.cs Asset store updates (#660) 2026-01-30 21:31:23 -04:00
PackageUpdateService.cs.meta Notify users when there's a new version (#329) 2025-10-18 20:42:18 -04:00
PathResolverService.cs fix: resolve Claude Code HTTP Remote UV path override not being detected in System Requirements .#550 2026-01-17 18:34:40 -05:00
PathResolverService.cs.meta New UI and work without MCP server embedded (#313) 2025-10-11 03:08:16 -04:00
PlatformService.cs Remove old UI and do lots of cleanup (#340) 2025-10-24 00:50:29 -04:00
PlatformService.cs.meta Remove old UI and do lots of cleanup (#340) 2025-10-24 00:50:29 -04:00
ResourceDiscoveryService.cs Display resources (#658) 2026-01-30 20:31:35 -04:00
ResourceDiscoveryService.cs.meta Display resources (#658) 2026-01-30 20:31:35 -04:00
Server.meta Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
ServerManagementService.cs Remote server auth (#644) 2026-01-30 18:39:21 -04:00
ServerManagementService.cs.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
StdioBridgeReloadHandler.cs Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
StdioBridgeReloadHandler.cs.meta Fix stdio reloads (#402) 2025-11-27 19:33:26 -04:00
TestJobManager.cs Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
TestJobManager.cs.meta Async Test Infrastructure & Editor Readiness Status + new refresh_unity tool (#507) 2026-01-03 12:42:32 -08:00
TestRunStatus.cs Async Test Infrastructure & Editor Readiness Status + new refresh_unity tool (#507) 2026-01-03 12:42:32 -08:00
TestRunStatus.cs.meta Async Test Infrastructure & Editor Readiness Status + new refresh_unity tool (#507) 2026-01-03 12:42:32 -08:00
TestRunnerNoThrottle.cs Fix PlayMode tests stalling when unfocused (python refresh utility), improve domain reload recovery and refresh tool (#554) 2026-01-14 15:02:40 -08:00
TestRunnerNoThrottle.cs.meta Async Test Infrastructure & Editor Readiness Status + new refresh_unity tool (#507) 2026-01-03 12:42:32 -08:00
TestRunnerService.cs Fix PlayMode tests stalling when unfocused (python refresh utility), improve domain reload recovery and refresh tool (#554) 2026-01-14 15:02:40 -08:00
TestRunnerService.cs.meta Add testing and move menu items to resources (#316) 2025-10-13 11:16:43 -04:00
ToolDiscoveryService.cs Display resources (#658) 2026-01-30 20:31:35 -04:00
ToolDiscoveryService.cs.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
Transport.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00