Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: CoplayDev/unity-mcp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v4.1.1
Choose a base ref
...
head repository: CoplayDev/unity-mcp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v5.0.0
Choose a head ref
  • 7 commits
  • 295 files changed
  • 6 contributors

Commits on Sep 30, 2025

  1. Autoformat (#297)

    msanatan authored Sep 30, 2025
    Configuration menu
    Copy the full SHA
    f6796e6 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2025

  1. feat: Unity Asset Store compliance with post-installation dependency …

    …setup (#281)
    
    * feat: implement Unity Asset Store compliance with post-installation dependency setup
    
    - Remove bundled Python dependencies from Unity package
    - Add comprehensive 6-step setup wizard with auto-trigger on first import
    - Implement cross-platform dependency detection (Windows, macOS, Linux)
    - Add integrated MCP client configuration within setup process
    - Create production-ready menu structure with clean UI/UX
    - Ensure complete end-to-end setup requiring no additional configuration
    - Add comprehensive error handling and recovery mechanisms
    
    This implementation ensures Asset Store compliance while maintaining full
    functionality through guided user setup. Users are left 100% ready to use
    MCP after completing the setup wizard.
    
    * refactor: improve Asset Store compliance implementation with production-ready setup
    
    - Remove automatic installation attempts on package import
    - Always show setup wizard on package install/reinstall
    - Integrate MCP client configuration as part of setup wizard process
    - Ensure MCP client config window remains accessible via menu
    - Remove testing components for production readiness
    - Replace automatic installation with manual guidance only
    - Add complete 4-step setup flow: Welcome → Dependencies → Installation Guide → Client Configuration → Complete
    - Improve user experience with clear instructions and accessible client management
    
    * feat: add comprehensive dependency requirement warnings
    
    - Add critical warnings throughout setup wizard that package cannot function without dependencies
    - Update package.json description to clearly state manual dependency installation requirement
    - Prevent setup completion if dependencies are missing
    - Enhance skip setup warning to emphasize package will be non-functional
    - Add error messages explaining consequences of missing dependencies
    - Update menu item to indicate setup wizard is required
    - Ensure users understand package is completely non-functional without proper dependency installation
    
    * refactor: simplify setup wizard for production
    
    BREAKING: Reduced setup wizard from 5 steps to 3 streamlined steps:
    - Step 1: Setup (welcome + dependency check + installation guide)
    - Step 2: Configure (client configuration with direct access to full settings)
    - Step 3: Complete (final status and quick access to resources)
    
    Simplifications:
    - Consolidated UI components with DRY helper methods (DrawSectionTitle, DrawSuccessStatus, DrawErrorStatus)
    - Simplified dependency status display with clean icons and essential info
    - Removed complex state management - using simple EditorPrefs instead
    - Removed unused InstallationOrchestrator and SetupState classes
    - Streamlined client configuration to direct users to full settings window
    - Simplified navigation with back/skip/next buttons
    - Reduced code complexity while maintaining solid principles
    
    Results:
    - 40% less code while maintaining all functionality
    - Cleaner, more intuitive user flow
    - Faster setup process with fewer clicks
    - Production-ready simplicity
    - Easier maintenance and debugging
    
    * fix: add missing using statement for DependencyCheckResult
    
    Add missing 'using MCPForUnity.Editor.Dependencies.Models;' to resolve
    DependencyCheckResult type reference in SetupWizard.cs
    
    * refactor: optimize dependency checks and remove dead code
    
    * fix: remove unused DrawInstallationProgressStep method
    
    Removes leftover method that references deleted _isInstalling and _installationStatus fields, fixing compilation errors.
    
    * feat: improve setup wizard UX and add real client configuration
    
    1. Remove dependency mentions from package.json description
    2. Only show dependency warnings when dependencies are actually missing
    3. Add actual MCP client configuration functionality within the wizard:
       - Client selection dropdown
       - Individual client configuration
       - Claude Code registration/unregistration
       - Batch configuration for all clients
       - Manual setup instructions
       - Real configuration file writing
    
    Users can now complete full setup including client configuration without leaving the wizard.
    
    * refactor: improve menu text and client restart tip
    
    - Remove '(Required)' from Setup Wizard menu item for cleaner appearance
    - Update tip to reflect that most AI clients auto-detect configuration changes
    
    * refactor: simplify client restart tip message
    
    * fix: add missing using statement for MCPForUnityEditorWindow
    
    Add 'using MCPForUnity.Editor.Windows;' to resolve unresolved symbol error for MCPForUnityEditorWindow in SetupWizard.cs
    
    * Format code
    
    * Remove unused folders
    
    * Same for validators
    
    * Same for Setup...
    
    * feat: add setup wizard persistence to avoid showing on subsequent imports
    
    * fix: update Python version check to support Python 4+ across all platform detectors
    
    * refactor: extract common platform detection logic into PlatformDetectorBase class
    
    * feat: add configuration helpers for MCP client setup with sophisticated path resolution
    
    * fix: add missing override keyword to DetectPython method in platform detectors
    
    * fix: update menu item labels for consistent capitalization and naming
    
    * fix: standardize "MCP For Unity" capitalization in window titles and dialogs
    
    * refactor: update package ID from justinpbarnett to coplaydev across codebase
    
    * refactor: remove unused validation and configuration helper methods
    
    * refactor: remove unused warnOnLegacyPackageId parameter from TryFindEmbeddedServerSource
    
    ---------
    
    Co-authored-by: Claude <claude@anthropic.com>
    Co-authored-by: Marcus Sanatan <msanatan@gmail.com>
    3 people authored Oct 3, 2025
    Configuration menu
    Copy the full SHA
    7c23f24 View commit details
    Browse the repository at this point in the history
  2. Make it easier to add tools (#301)

    * Add a decorate that wraps around the `mcp.tool` decorator.
    
    This will allow us to more easily collect tools
    
    * Register tools that's defined in the tools folder
    
    * Update Python tools to use new decorator
    
    * Convert script_apply_edits tool
    
    * Convert last remaining tools with new decorator
    
    * Create an attribute so we can identify tools via Reflection
    
    * Add attribute to all C# tools
    
    * Use reflection to load tools
    
    * Initialize command registry to load tools at startup
    
    * Update tests
    
    * Move Dev docs to docs folder
    
    * Add docs for adding custom tools
    
    * Update function docs for Python decorator
    
    * Add working example of adding a screenshot tool
    
    * docs: update relative links in README files
    
    Updated the relative links in both README-DEV.md and README-DEV-zh.md to use direct filenames instead of paths relative to the docs directory, improving link correctness when files are accessed from the root directory.
    
    * docs: update telemetry documentation path reference
    
    Updated the link to TELEMETRY.md in README.md to point to the new docs/ directory location to ensure users can access the telemetry documentation correctly. Also moved the TELEMETRY.md file to the docs/ directory as part of the documentation restructuring.
    
    * rename CursorHelp.md to docs/CURSOR_HELP.md
    
    Moved the CursorHelp.md file to the docs directory to better organize documentation files and improve project structure.
    
    * docs: update CUSTOM_TOOLS.md with improved tool naming documentation and path corrections
    
    - Clarified that the `name` argument in `@mcp_for_unity_tool` decorator is optional and defaults to the function name
    - Added documentation about using all FastMCP `mcp.tool` function decorator options
    - Updated class naming documentation to mention snake_case conversion by default
    - Corrected Python file path from `tools/screenshot_tool.py` to `UnityMcpServer~/src/tools/screenshot_tool.py`
    - Enhanced documentation for tool discovery and usage examples
    
    * docs: restructure development documentation and add custom tools guide
    
    Rearranged the development section in README.md to better organize the documentation flow. Added a dedicated section for "Adding Custom Tools" with a link to the new CUSTOM_TOOLS.md file, and renamed the previous "For Developers" section to "Contributing to the Project" to better reflect its content. This improves discoverability and organization of the development setup documentation.
    
    * docs: update developer documentation and add README links
    
    - Added links to developer READMEs in CUSTOM_TOOLS.md to guide users to the appropriate documentation
    - Fixed typo in README-DEV.md ("roote" → "root") for improved clarity
    - These changes improve the developer experience by providing better documentation navigation and correcting technical inaccuracies
    
    * feat(tools): enhance tool registration with wrapped function assignment
    
    Updated the tool registration process to properly chain the mcp.tool decorator and telemetry wrapper, ensuring the wrapped function is correctly assigned to tool_info['func'] for proper tool execution and telemetry tracking. This change improves the reliability of tool registration and monitoring.
    
    * Remove AI generated code that was never used...
    
    * feat: Rebuild MCP server installation with embedded source
    
    Refactored the server repair logic to implement a full rebuild of the MCP server installation using the embedded source. The new RebuildMcpServer method now:
    - Uses embedded server source instead of attempting repair of existing installation
    - Deletes the entire existing server directory before re-copying
    - Handles UV process cleanup for the target path
    - Simplifies the installation flow by removing the complex Python environment repair logic
    - Maintains the same installation behavior but with a cleaner, more reliable rebuild approach
    
    This change improves reliability of server installations by ensuring a clean slate rebuild rather than attempting to repair potentially corrupted environments.
    
    * Add the rebuild server step
    
    * docs: clarify tool description field requirements and client compatibility
    
    * fix: move initialization flag after tool discovery to prevent race conditions
    
    * refactor: remove redundant TryParseVersion overrides in platform detectors
    
    * refactor: remove duplicate UV validation code from platform detectors
    
    * Update UnityMcpBridge/Editor/Tools/CommandRegistry.cs
    
    Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
    
    * refactor: replace WriteToConfig reflection with direct McpConfigurationHelper call
    
    ---------
    
    Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
    msanatan and coderabbitai[bot] authored Oct 3, 2025
    Configuration menu
    Copy the full SHA
    5488af2 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2025

  1. Fix read_console includeStacktrace parameter behavior (#304)

    The includeStacktrace parameter was working backwards - when false,
    it would return the full message with embedded stack traces, and when
    true, it would extract the stack trace but the logic was inverted.
    
    Changes:
    - Always extract the first line as the message text
    - Only populate stackTrace field when includeStacktrace is true
    - Ensures clean, summary-only messages when includeStacktrace is false
    - Properly separates stack traces into their own field when requested
    
    This matches the expected Unity console behavior where the summary
    is shown by default, and stack traces are only shown when expanded.
    dsarno authored Oct 4, 2025
    Configuration menu
    Copy the full SHA
    ff73601 View commit details
    Browse the repository at this point in the history
  2. Rename plugin folder to MCPForUnity (#303)

    * Copy UnityMcpBridge into a new MCPForUnity folder
    
    This is to close #284
    
    * refactor: rename UnityMcpBridge directory to MCPForUnity in docs
    
    * chore: rename UnityMcpBridge directory to MCPForUnity across workflow files
    
    * chore: rename UnityMcpBridge directory to MCPForUnity across all files
    
    * refactor: update import paths from UnityMcpBridge to MCPForUnity across test files
    
    * fix: update module import paths to use MCPForUnity instead of UnityMcpBridge
    
    * chore: update unity-mcp package path to MCPForUnity directory
    
    * feat: add OneTimeSetUp to initialize CommandRegistry before tests run
    
    Hopefully fix the CI failures
    
    * Apply recent fix to new folder
    
    * Temporarily trigger tests to see if CI works
    
    * Revert "Temporarily trigger tests to see if CI works"
    
    It works!
    
    This reverts commit 8c6eaaa.
    msanatan authored Oct 4, 2025
    Configuration menu
    Copy the full SHA
    e9b1ae4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9d9652e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ba1e488 View commit details
    Browse the repository at this point in the history
Loading