You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New UI and work without MCP server embedded (#313)
* First pass at new UI
* Point to new UI
* Refactor: New Service-Based MCP Editor Window Architecture
We separate the business logic from the UI rendering of the new editor window with new services.
I didn't go full Dependency Injection, not sure if I want to add those deps to the install as yet, but service location is fairly straightforward.
Some differences with the old window:
- No more Auto-Setup, users will manually decide what they want to do
- Removed Python detection warning, we have a setup wizard now
- Added explicit path overrides for `uv` and the MCP server itself
* style: add flex-shrink and overflow handling to improve UI element scaling
* fix: update UI configuration and visibility when client status changes
* feat: add menu item to open legacy MCP configuration window
* refactor: improve editor window lifecycle handling with proper update subscription
* feat: add auto-verification of bridge health when connected
* fix: update Claude Code MCP server registration to use lowercase unityMCP name and correct the manual installation instructions
* fix: add Claude CLI directory to PATH for node/nvm environments
* Clarify how users will see MCP tools
* Add a keyboard shortcut to open the window
* feat: add server download UI and improve installation status messaging
This is needed for the Unity Asset Store, which doesn't have the Python server embedded.
* feat: add dynamic asset path detection to support both Package Manager and Asset Store installations
* fix: replace unicode emojis with escaped characters in status messages
* feat: add server package creation and GitHub release publishing to version bump workflow
* fix: add v prefix to server package filename in release workflow
* Fix download location
* style: improve dropdown and settings layout responsiveness with flex-shrink and max-width
* feat: add package.json version detection and refactor path utilities
* refactor: simplify imports and use fully qualified names in ServerInstaller.cs
* refactor: replace Unity Debug.Log calls with custom McpLog class
* fix: extract server files to temp directory before moving to final location
* docs: add v6 UI documentation and screenshots with service architecture overview
* docs: add new UI Toolkit-based editor window with service architecture and path overrides
* feat: improve package path resolution to support Package Manager and Asset Store installations
* Change Claude Code's casing back to "UnityMCP"
There's no need to break anything as yet
* fix: update success dialog text to clarify manual bridge start requirement
* refactor: move RefreshDebounce and ManageScriptRefreshHelpers classes inside namespace
* feat: add Asset Store fallback path detection for package root lookup
* fix: update server installation success message to be more descriptive
* refactor: replace Unity Debug.Log calls with custom McpLog utility
* fix: add file existence check before opening configuration file
* refactor: simplify asset path handling and remove redundant helper namespace references
* docs: update code block syntax highlighting in UI changes doc
* docs: add code block syntax highlighting for file structure example
* feat: import UnityEditor.UIElements namespace for UI components for Unity 2021 compatibility
* refactor: rename Python server references to MCP server for consistency
* fix: reset client status label color after error state is cleared
* Replace the phrase "Python server" with "MCP server"
* MInor doc clarification
* docs: add path override methods for UV and Claude CLI executables
* docs: update service locator registration method name from SetCustomImplementation to Register
Debug.Log("<b><color=#2EA3FF>MCP-FOR-UNITY</color></b>: Python server installation completed successfully.");
33
+
// Only log success if server was actually embedded and copied
34
+
if(ServerInstaller.HasEmbeddedServer())
35
+
{
36
+
McpLog.Info("MCP server installation completed successfully.");
37
+
}
35
38
}
36
-
catch(System.Exceptionex)
39
+
catch(System.Exception)
37
40
{
38
-
Debug.LogError($"<b><color=#2EA3FF>MCP-FOR-UNITY</color></b>: Failed to install Python server: {ex.Message}");
39
-
Debug.LogWarning("<b><color=#2EA3FF>MCP-FOR-UNITY</color></b>: You may need to manually install the Python server. Check the MCP For Unity Window for instructions.");
41
+
EditorPrefs.SetBool(InstallationFlagKey,true);// Mark as handled
42
+
McpLog.Info("Server installation pending. Open Window > MCP For Unity to download the server.");
0 commit comments