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: v8.6.0
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: v8.7.0
Choose a head ref
  • 3 commits
  • 50 files changed
  • 3 contributors

Commits on Jan 2, 2026

  1. Configuration menu
    Copy the full SHA
    191b730 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2026

  1. Async Test Infrastructure & Editor Readiness Status + new refresh_uni…

    …ty tool (#507)
    
    * Add editor readiness v2, refresh tool, and preflight guards
    
    * Detect external package changes and harden refresh retry
    
    * feat: add TestRunnerNoThrottle and async test running with background stall prevention
    
    - Add TestRunnerNoThrottle.cs: Sets editor to 'No Throttling' mode during test runs
      with SessionState persistence across domain reload
    - Add run_tests_async and get_test_job tools for non-blocking test execution
    - Add TestJobManager for async test job tracking with progress monitoring
    - Add ForceSynchronousImport to all AssetDatabase.Refresh() calls to prevent stalls
    - Mark DomainReloadResilienceTests as [Explicit] with documentation explaining
      the test infrastructure limitation (internal coroutine waits vs MCP socket polling)
    - MCP workflow is unaffected - socket messages provide external stimulus that
      keeps Unity responsive even when backgrounded
    
    * refactor: simplify and clean up code
    
    - Remove unused Newtonsoft.Json.Linq import from TestJobManager
    - Add throttling to SessionState persistence (once per second) to reduce overhead
    - Critical job state changes (start/finish) still persist immediately
    - Fix duplicate XML summary tag in DomainReloadResilienceTests
    
    * docs: add async test tools to README, document domain reload limitation
    
    - Add run_tests_async and get_test_job to main README tools list
    - Document background stall limitation for domain reload tests in DEV readme
    
    * ci: add separate job for domain reload tests
    
    Run [Explicit] domain_reload tests in their own job using -testCategory
    
    * ci: run domain reload tests in same job as regular tests
    
    Combines into single job with two test steps to reuse cached Library
    
    * fix: address coderabbit review issues
    
    - Fix TOCTOU race in TestJobManager.StartJob (single lock scope for check-and-set)
    - Store TestRunnerApi reference with HideAndDontSave to prevent GC/serialization issues
    
    * docs: update tool descriptions to prefer run_tests_async
    
    - run_tests_async is now marked as preferred for long-running suites
    - run_tests description notes it blocks and suggests async alternative
    
    * docs: update README screenshot to v8.6 UI
    
    * docs: add v8.6 UI screenshot
    
    * Update README for MCP version and instructions for v8.7
    
    * fix: handle preflight busy signals and derive job status from test results
    
    - manage_asset, manage_gameobject, manage_scene now check preflight return
      value and propagate busy/retry signals to clients (fixes Sourcery #1)
    - TestJobManager.FinalizeCurrentJobFromRunFinished now sets job status to
      Failed when resultPayload.Failed > 0, not always Succeeded (fixes Sourcery #2)
    
    * fix: increase HTTP server startup timeout for dev mode
    
    When 'Force fresh server install' is enabled, uvx uses --no-cache --refresh
    which rebuilds the package and takes significantly longer to start.
    
    - Increase timeout from 10s to 45s when dev mode is enabled
    - Add informative log message explaining the longer startup time
    - Show actual timeout value in warning message
    
    * fix: derive job status from test results in FinalizeFromTask fallback
    
    Apply same logic as FinalizeCurrentJobFromRunFinished: check result.Failed > 0
    to correctly mark jobs as Failed when tests fail, even in the fallback path
    when RunFinished callback is not delivered.
    dsarno authored Jan 3, 2026
    Configuration menu
    Copy the full SHA
    711768d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5afa296 View commit details
    Browse the repository at this point in the history
Loading