Skip to content

Releases: FoxsterDev/xuunity-mcp

0.3.45

Choose a tag to compare

@FoxsterDev FoxsterDev released this 14 Jul 01:07

Current Git UPM install URL:

https://github.com/FoxsterDev/xuunity-mcp.git?path=/packages/com.xuunity.light-mcp#v0.3.45

Changed

  • Released v0.3.45 package metadata, server metadata, package manifests, and Git UPM examples.
  • Made setup fail closed on stale canonical Git UPM pins, helper versions,
    helper integrity manifests, and client launcher flavor mismatches. Setup plans
    now upgrade older pins after approval, refuse automatic downgrades or custom
    source rewrites, and reject apply when the reviewed manifest changed.
  • Reworked the public one-prompt install contract around the canonical
    v0.3.45 source and tagged README. Existing helpers are verified before use,
    native Windows Codex blocks migrate from bash/run.sh to
    cmd.exe/the refresh .cmd without replacing unrelated config, and client
    restart plus live-tool proof is required before tests.

Fixed

  • Prevented stale/reused bridge PIDs from being trusted as Unity process
    identity. Automatic recovery no longer treats editor-open permission as
    force-termination permission, revalidates exact project ownership before an
    explicitly authorized termination, and Windows taskkill no longer uses
    the descendant-tree /T flag.
  • Added a safety-epoch, hash-verified helper install manifest and published the
    legacy server.py version marker last, so interrupted or mixed-version
    helper rollouts are refreshed instead of executed.

Validation

  • Host Python unittest suite passed: 452 tests with 13 expected skips.
  • Public site Playwright checks passed: 39/39, including the 320 px viewport
    and clipboard safety-contract assertion.
  • Release metadata consistency, documentation freshness, and public-release
    safety checks passed for 0.3.45.

Added

  • Added unity_sdk_generated_diff_guard and sdk-generated-diff-guard, a
    compact, host-side SDK rollout proof for Git-tracked generated files. It
    compares each requested path to a named Git baseline and fails closed when a
    required marker is absent, a tracked generated file disappears, an expected
    previous native version remains, or an unallowlisted generated-file change is
    present. The guard writes a JSON proof
    under the project's ignored MCP evidence directory by default.

0.3.44

Choose a tag to compare

@FoxsterDev FoxsterDev released this 13 Jul 12:47
v0.3.44

Release v0.3.44

0.3.43

Choose a tag to compare

@FoxsterDev FoxsterDev released this 12 Jul 15:10
  • Hardened native Windows installation and launch paths: self-hosted refresh
    launchers, safe paths with spaces, predictable non-zero error propagation,
    Python 3.10+ gating, UTF-8 process handling, and client configs that point to
    the resolved launcher path.
  • Improved cross-platform Unity discovery and readiness recovery, including
    extra Unity Hub installation locations, host-native recovery commands, and
    faster failure when interactive readiness cannot be achieved.
  • Made bridge file IPC and request artifacts safer under lifecycle churn with
    atomic writes, torn-read resistance, process identity checks, subprocess
    timeouts, and editor-main-thread-safe runtime paths.
  • Added end-to-end host regressions for Windows launchers, PowerShell setup,
    MCP stdio, installed delegate recovery, hostile code pages, and simulated
    file-IPC bridge behavior.
  • Added public issue templates, contribution and conduct guidance, and an
    explicit independent-project notice.

0.3.42

Choose a tag to compare

@FoxsterDev FoxsterDev released this 11 Jul 17:07

XUUnity Light Unity MCP — v0.3.38 to v0.3.42

v0.3.42

  • Added a compile-first preflight before opening Unity in the post-change validation runner.
  • C# errors are now detected before GUI/Safe Mode startup.
  • Validated on Unity 2022 (EditMode 14/14, PlayMode 5/5) and Unity 6000 (compile 6/6, acceptance 10/10, contract passed).

v0.3.41

  • Added compact responses for transport_response_missing and editor_idle_timeout.
  • console_tail now uses Editor.log by default, with stale Unity Console warnings.
  • Added Safe Mode and API Updater diagnostics for first project open.
  • Added freshness fields to offline editor_log_diagnosis to prevent prior-session errors being treated as current.
  • Documented manual package/bridge setup boundaries and the “compile-green ≠ editor-clean” limitation.

v0.3.40

  • Tightened compact batch output to include only decision summaries and artifact references.
  • ensure-ready --open-editor now automatically enables the project-scoped bridge.
  • console_grep now defaults to Editor.log.
  • Added API Updater modal-block diagnosis and Unity launch support for -accept-apiupdate.
  • Improved setup-plan output by separating client-config review paths from planned project mutations.

v0.3.39

  • Added --output compact|full to batch commands:
    batch-compile, batch-compile-matrix,
    batch-build-config-compile-matrix, batch-editmode-tests, and batch-build-player.
  • Compact mode returns a concise verdict and artifact references while preserving full output by default.

v0.3.38

  • Added a release safety check for host-local paths and denied local tokens in public documentation.
  • Added unity_scene_open, request-scene-open, and the scene_open scenario step.
  • Scene opening is deterministic in Edit Mode and safely fails during Play Mode, for missing scenes, or dirty scenes without explicit discard permission.

0.3.37

Choose a tag to compare

@FoxsterDev FoxsterDev released this 03 Jul 11:53

XUUnity Light Unity MCP v0.3.36-v0.3.37

Changed

  • Released v0.3.36 and v0.3.37 package metadata, server metadata, package manifests, public docs, and Git UPM examples.
  • transport_response_missing errors now embed a compact final-status projection instead of the full final-status/artifact payload, while preserving the request-final-status command for full evidence recovery.
  • Discovery-enriched stale-session transport failures now recommend ensure-ready --open-editor when host/session evidence proves recovery is needed before retrying.
  • ensure-ready now defaults to a compact readiness envelope with verdict, health, bridge identity, package import summary, editor-log identity, recovery commands, and Play Mode exit hints.
  • unity.status, bridge heartbeat state, and compact status summaries now surface the active Editor.log path.
  • Status summaries can flag newer same-project foreign Editor.log candidates when practical.
  • unity_console_grep and request-console-grep now support source=editor_log / --source editor_log for path-backed Editor.log grep.
  • Docs now call out Unity Console clear-on-play and ring-buffer eviction false negatives.
  • unity_scenario_run_and_wait full-payload mode now omits duplicated run_start.steps by default; pass includeStepPayloads=true or --include-step-payloads to preserve that launch-time step copy.
  • Scenario playmode_set steps now preserve the direct unity.playmode.set payload outcome in compact summaries.
  • unity_scenario_run_and_wait compact decision verdicts now include playmode_guard_summary.
  • Passed scenarios that enter PlayMode from an already-playing editor are now marked with trust_class=stale_risk and recommend rerunning after exiting PlayMode when a fresh start is required.
  • templates/smoke/run_post_change_validation.sh now emits durable phase lines, quiet-tail cleanup/auxiliary heartbeats, and classifies bridge churn as non-blocking or actionable.
  • Added public-safe config-applying project-action build templates under templates/project_actions/.
  • Windows recovery command paths now render shell-facing project paths with POSIX-style formatting, avoiding backslash command text that can break Git Bash copy/paste recovery commands.

Validation

  • Release version consistency checks passed.
  • Release docs freshness checks passed.
  • Host Python unittest suite passed: 282 tests, 1 expected skip.
  • Public site Playwright checks passed: 39/39.
  • Helper install smoke refreshed neutral, Codex, and Claude installs; all reported package metadata 0.3.37.
  • Unity 2022.3 consumer-project validation passed fast package self-tests: EditMode 12/12, PlayMode 5/5.
  • Focused already-playing scenario guard probe returned trust_class=stale_risk.
  • Unity 6000 consumer-project post-change validation passed readiness, compile matrix 6/6, acceptance scenario 10/10, contract scenario, PlayMode/lifecycle checks, and cleanup/restore.

Git UPM

https://github.com/FoxsterDev/xuunity-mcp.git?path=/packages/com.xuunity.light-mcp#v0.3.37

0.3.35

Choose a tag to compare

@FoxsterDev FoxsterDev released this 01 Jul 19:42

Current Git UPM install URL:

https://github.com/FoxsterDev/xuunity-mcp.git?path=/packages/com.xuunity.light-mcp#v0.3.35

Changed

  • Released v0.3.35 package metadata, server metadata, package manifests, Git
    UPM examples, public site version references, and package documentation.
  • unity_status_summary now defaults to a compact polling payload for MCP
    callers and omits nested discovery, transport, state-group, timing, and
    artifact details unless includeFullPayload=true is provided. The compact
    payload keeps the decision fields needed for readiness, recovery, compiler
    state, lifecycle stabilization, host health, reconciliation, and process
    visibility.
  • Added explicit payload_mode=compact_status_summary /
    payload_mode=full_status_summary markers so agents can tell whether nested
    diagnostics were intentionally omitted.
  • Added includeFullPayload to the unity_status_summary tool schema and
    preserved the full previous nested summary shape for deep lifecycle and
    transport debugging.
  • Kept the CLI request-status-summary helper on its existing full diagnostic
    default so shell smokes and local wrapper scripts continue to parse nested
    prerequisite fields without migration churn.
  • Updated the token-efficiency retro registry to mark status-summary slimming
    complete and leave only batch/multi-project compact ceilings, token ledger,
    and fast-path profiles as remaining response-envelope backlog.

Validation

  • Release version consistency check passed for 0.3.35.
  • Source checkout helper install refreshed neutral, Codex, and Claude tool
    installs; all reported package metadata version 0.3.35.
  • Host Python unittest suite: 267 tests passed with 1 expected skip.
  • Public site Playwright checks passed: 39/39.

0.3.34

Release tag: v0.3.34

Current Git UPM install URL:

https://github.com/FoxsterDev/xuunity-mcp.git?path=/packages/com.xuunity.light-mcp#v0.3.34

Changed

  • Released v0.3.34 package metadata, server metadata, package manifests, and Git UPM examples.
  • MCP tool responses for unity_project_refresh,
    unity_compile_player_scripts, unity_compile_matrix,
    unity_compile_build_config_matrix, unity_tests_run_editmode, and
    unity_tests_run_playmode now default to a compact operation summary that
    preserves authoritative post-settle verdict fields while omitting full
    _xuunity_lifecycle snapshots. Pass includeFullPayload=true to recover the
    previous full bridge payload for lifecycle debugging or raw artifact
    inspection.
  • Compact operation summaries keep the authoritative post-settle verdict fields
    that agents need for closeout: status, error counts, first diagnostics,
    settle phase, completion basis, timing/artifact references, and full-payload
    recovery arguments.
  • The compact/full bridge response conversion is centralized in
    templates/server_bridge_payloads.py, reducing duplicated response shaping
    across refresh, compile, build-config compile, and direct EditMode/PlayMode
    test tools.
  • Public docs and retro registries were updated to record that normal MCP tool
    calls no longer dump lifecycle snapshots by default.

Validation

  • Host Python unittest suite: 267 tests passed with 1 expected skip.
  • Release version consistency check passed for 0.3.34.
  • Public site Playwright checks passed: 39/39.
  • Source checkout helper install refreshed neutral, Codex, and Claude tool
    installs; all reported package metadata version 0.3.34.
  • Live MCP compact response validation passed on Dev Acceleration System and
    a prod project including post-settle compile truth without default lifecycle
    dumps.
  • Dev Acceleration System package self-test fast lane passed: EditMode 12/12
    and PlayMode 5/5.

0.3.33

Choose a tag to compare

@FoxsterDev FoxsterDev released this 25 Jun 21:24

Current Git UPM install URL:

https://github.com/FoxsterDev/xuunity-mcp.git?path=/packages/com.xuunity.light-mcp#v0.3.33

Changed

  • Reduced monolithic ownership on the Unity package side while preserving public
    MCP operation names, JSON payload shapes, scenario timing semantics, and
    persisted bridge state contracts. The existing scenario runner, project-action
    normalizer, bridge runtime state, and model entrypoints remain compatibility
    facades over smaller DTO, runtime, compiler, scheduler, catalog, and handler
    units.
  • Reduced monolithic ownership on the Python server side across batch
    orchestration, bridge runtime, CLI command routing, editor-host lifecycle,
    setup wizard, summaries, and tool specs while keeping public command and MCP
    tool contracts stable.
  • Tightened unity_scenario_run_and_wait compact/full payload semantics:
    public smoke helpers that need step-level evidence now request
    includeFullPayload, while compact summaries remain the default contract for
    agent-facing verdicts.
  • Added regression coverage for the compact payload contract, scenario decision
    verdict parity, server parity baselines, and Windows/WSL process visibility
    routing.

Fixed

  • Fixed native Windows CI routing for HostPlatformAdapter(platform_kind="linux")
    so WSL-simulated PID checks do not accidentally use the host Windows
    OpenProcess path and report unrelated live PIDs as Unity processes.
  • Hardened smoke validation docs and reusable smoke scripts so compact scenario
    results are not misread as missing per-step evidence.

Validation

  • Host Python unittest suite: 264 tests passed with 1 expected skip.
  • Project devmode MCP post-change smoke passed, including readiness,
    compile matrix, acceptance, contract, playmode settled-state regression,
    lifecycle retry, and project-action catalog consistency.
  • Project devmode package self-tests passed: EditMode 12/12 and PlayMode
    5/5.

0.3.32

Choose a tag to compare

@FoxsterDev FoxsterDev released this 25 Jun 16:45

XUUnity Light Unity MCP v0.3.32

Git UPM install URL:

https://github.com/FoxsterDev/xuunity-mcp.git?path=/packages/com.xuunity.light-mcp#v0.3.32

What's Changed

  • unity_scenario_run_and_wait now returns a compact decision verdict by default:
    • verdict
    • trust_class
    • failure_class
    • recommended_next_action
    • terminal scenario status
    • compact per-step summaries
    • UI-smoke fields
    • path coverage summary
  • Full raw scenario payloads remain available through verbose or includeFullPayload.
  • Scenario lifecycle recovery now attributes editor cold starts / relaunches with:
    • editor_relaunched
    • previous_editor_pid
    • current_editor_pid
    • bridge_generation_before
    • bridge_generation_after
    • cold_start_reason
  • Refresh/compile/test lifecycle normalization now exposes post-settle compile truth from idle_wait_after, keeping request-time transport success separate from final Unity compiler state.
  • Infrastructure timeouts are now classified as infrastructure_timeout, separate from product assertions, preconditions, blocking popups, cleanup, and unproven Unity completion.
  • Release version consistency now checks both MCP protocol metadata sources so initialize.serverInfo.version stays aligned with package metadata.

Validation

  • Host Python regression suite: 255/255 passed, with one expected native Windows .cmd smoke skipped on macOS.
  • Release version consistency: passed for 0.3.32.
  • Python compile check: passed.
  • MCP schema smoke: server_version=0.3.32, unity_scenario_run_and_wait exposes verbose and includeFullPayload.

Full Changelog: v0.3.31...v0.3.32

v0.3.30

Choose a tag to compare

@FoxsterDev FoxsterDev released this 18 Jun 11:00

XUUnity MCP v0.3.28 → v0.3.30

Current Git UPM install URL:

https://github.com/FoxsterDev/xuunity-mcp.git?path=/packages/com.xuunity.light-mcp#v0.3.30

Compare: v0.3.27...v0.3.30

Highlights

  • Added first-class project_defined_hook_poll_until scenario support for project-defined hook smokes.
  • Improved native Windows, WSL, macOS, and Linux host compatibility around launchers, path handling, and process discovery.
  • Fixed manual open-editor duplicate Unity launch risk by reusing an already-running same-project editor.
  • Improved discovery/recovery reporting for live editors, worker-only Unity processes, package import state, and bridge-not-ready states.

Added

  • project_defined_hook_poll_until scenario operation:
    • starts one project hook action
    • polls another hook until payload predicate reaches passed, failed, or timeout
    • preserves terminal payload evidence in scenario results
  • Poll-until scenario summary promotion for:
    • hook name
    • terminal status
    • failure class
    • selected scalar payload fields
    • screenshot path
    • console-tail evidence count
    • cleanup result
  • Same-project live editor recovery/discovery case:
    • same_project_editor_running_bridge_not_ready
    • recovery guidance via wait_for_bridge_or_recover_editor
  • Worker process visibility in discovery reports, including Unity Asset Import Worker separation from the main editor.

Changed

  • Released package/server metadata, package manifests, and Git UPM examples through v0.3.30.
  • Native Windows Codex config now uses cmd.exe with run_installed_or_refresh_xuunity_mcp.cmd.
  • Existing Windows bash launcher config is reported as windows_codex_launcher_mismatch instead of duplicated.
  • Windows setup docs now prefer .cmd, quote project paths, and call out PowerShell ExecutionPolicy risk for .ps1.
  • validate-setup now reports offline readiness scope and package import-state evidence instead of presenting manifest/config validation as live Unity readiness.
  • Scenario JSON accepts operation as an alias for kind.
  • Scenario JSON accepts object-shaped startPayload and pollPayload, normalized for both Python MCP callers and direct Unity bridge callers.
  • Agent workflow docs now recommend serializing activation-heavy Unity commands for the same project until the bridge is healthy.

Fixed

  • open-editor now detects and reuses an already-running same-project Unity editor instead of launching a duplicate instance.
  • open-editor now fails closed when host process visibility is restricted, avoiding blind duplicate launches.
  • Unity Hub helper/launcher processes are no longer misclassified as main Unity editors.
  • Asset import/package/shader worker processes are classified separately from the main editor.
  • Added raw/resolved project-root diagnostics and Windows launcher hints for project_not_found, making path-with-spaces truncation diagnosable from one error payload.
  • Added package import-state evidence to ensure-ready success and error payloads.
  • A declared-but-unresolved package with a live bridgeless editor now recommends reopen_project_for_clean_resolve instead of generic editor recovery.
  • Added an already-closed editor closeout fast path that clears stale host session, bridge, and test state without quit/terminate attempts when process visibility proves no same-project editor is live.
  • Retired the legacy bash wrapper body and legacy escape hatch after the Python launcher core was validated across Windows, macOS, and Linux.

Validation

  • Host Python suite for latest v0.3.30 state: 246 tests passed, with one expected native Windows .cmd smoke skipped on macOS.
  • git diff --check: clean.
  • Live Unity validation on Unity 6000.0.58f2:
    • open-editor reused existing editor PID without duplicate launch
    • ensure-ready --open-editor reused healthy bridge state
    • request-health-probe: healthy
    • request-capabilities: 8 capabilities supported, none unsupported
    • Android compile player scripts: ok, compiler errors 0
  • EditMode lifecycle completed through MCP transport; project tests reported 724 passed / 2 failed / 726 total, with failures in project assertions rather than MCP transport/lifecycle.
  • v0.3.29 validation included temporary Unity 2022.3.67f2 package EditMode self-tests: 12/12 passed.
  • End-to-end temporary project hook scenario validation passed with poll_count=3 and promoted compact summary fields.

0.3.27

Choose a tag to compare

@FoxsterDev FoxsterDev released this 11 Jun 16:29

v0.3.27

Added

  • Added xuunity_light_unity_mcp.cmd and xuunity_light_unity_mcp.ps1 wrapper siblings using the proven run.cmd/run.ps1 Python discovery chain and executing templates/server_launcher.py, so Windows operators get the full wrapper surface without bash.
  • Promoted shared subprocess helpers (Git Bash resolution, process-tree kill, run-to-files) into scripts/testing/process_support.py, consumed by both the orchestrator and the test suite.
  • Added an optional XUUNITY_LIGHT_UNITY_MCP_WORKER_TIMEOUT_SECONDS watchdog that kills stuck worker process trees with exit code 124.
  • Added cross-flavor launcher parity tests (test_launcher_flavor_parity) and thread-pool parallelism tests (test_multi_project_parallelism).

Changed

  • Ported the operator wrapper body from bash to templates/server_launcher.py, which owns source/repo/install-dir resolution, helper sync, compact summary emission, devmode/prodmode, and server dispatch. Client-context and install-dir resolution delegate to server_setup_wizard to remove duplicate bash/python logic.
  • Shrank xuunity_light_unity_mcp.sh to a thin 28-line launcher with legacy flag checking and Python discovery (PYTHON env, py -3, python3, python, py). Preserved the previous bash body as xuunity_light_unity_mcp_legacy.sh (callable via XUUNITY_LIGHT_UNITY_MCP_LEGACY_WRAPPER=1).
  • Ported both multi-project runners into scripts/testing/run_multi_project.py (subcommands batch-compile-matrix and gui-test-subset) using ThreadPoolExecutor workers, removing xargs -P and enabling identical parallelism overlap across macOS, Linux, and Windows.
  • Expanded offline CI checks to run on master pushes and pull requests (previously tags only), smoke-executing templates/run.cmd and templates/run.ps1 on the Windows leg.
  • Released v0.3.27 package metadata, server metadata, package manifests, and Git UPM examples.

Fixed

  • Fixed parity test path normalization for Windows path representations, resolving WSL/POSIX temp differences, 8.3 short names (RUNNER~1), and JSON-escaped backslashes.

v0.3.26

Changed

  • Released v0.3.26 package metadata, server metadata, package manifests, and Git UPM examples.

v0.3.25

Changed

  • Added test-results-table for reusable markdown, JSON, and TSV summaries from persisted Unity test-result JSON files.
  • Improved multi-project GUI test subset reporting with per-project request ids, result paths, count summaries, lifecycle churn flags, failure grouping, package-source closeout, and workspace side-effect accounting.
  • Documented completed test-result JSON as the immutable source of truth for portfolio closeout and aggregate operator verdicts.
  • Released v0.3.25 package metadata, server metadata, package manifests, and Git UPM examples.