Releases: FoxsterDev/xuunity-mcp
Releases · FoxsterDev/xuunity-mcp
Release list
0.3.45
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.45package 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.45source and tagged README. Existing helpers are verified before use,
native Windows Codex blocks migrate frombash/run.shto
cmd.exe/the refresh.cmdwithout 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 Windowstaskkillno longer uses
the descendant-tree/Tflag. - Added a safety-epoch, hash-verified helper install manifest and published the
legacyserver.pyversion marker last, so interrupted or mixed-version
helper rollouts are refreshed instead of executed.
Validation
- Host Python unittest suite passed:
452tests with13expected 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 for0.3.45.
Added
- Added
unity_sdk_generated_diff_guardandsdk-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
0.3.43
- 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
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_missingandeditor_idle_timeout. console_tailnow usesEditor.logby default, with stale Unity Console warnings.- Added Safe Mode and API Updater diagnostics for first project open.
- Added freshness fields to offline
editor_log_diagnosisto 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-editornow automatically enables the project-scoped bridge.console_grepnow defaults toEditor.log.- Added API Updater modal-block diagnosis and Unity launch support for
-accept-apiupdate. - Improved
setup-planoutput by separating client-config review paths from planned project mutations.
v0.3.39
- Added
--output compact|fullto batch commands:
batch-compile,batch-compile-matrix,
batch-build-config-compile-matrix,batch-editmode-tests, andbatch-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 thescene_openscenario 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
XUUnity Light Unity MCP v0.3.36-v0.3.37
Changed
- Released
v0.3.36andv0.3.37package metadata, server metadata, package manifests, public docs, and Git UPM examples. transport_response_missingerrors now embed a compact final-status projection instead of the full final-status/artifact payload, while preserving therequest-final-statuscommand for full evidence recovery.- Discovery-enriched stale-session transport failures now recommend
ensure-ready --open-editorwhen host/session evidence proves recovery is needed before retrying. ensure-readynow 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_grepandrequest-console-grepnow supportsource=editor_log/--source editor_logfor path-backed Editor.log grep.- Docs now call out Unity Console clear-on-play and ring-buffer eviction false negatives.
unity_scenario_run_and_waitfull-payload mode now omits duplicatedrun_start.stepsby default; passincludeStepPayloads=trueor--include-step-payloadsto preserve that launch-time step copy.- Scenario
playmode_setsteps now preserve the directunity.playmode.setpayload outcome in compact summaries. unity_scenario_run_and_waitcompact decision verdicts now includeplaymode_guard_summary.- Passed scenarios that enter PlayMode from an already-playing editor are now marked with
trust_class=stale_riskand recommend rerunning after exiting PlayMode when a fresh start is required. templates/smoke/run_post_change_validation.shnow 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:
282tests,1expected 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, PlayMode5/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 scenario10/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
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.35package metadata, server metadata, package manifests, Git
UPM examples, public site version references, and package documentation. unity_status_summarynow defaults to a compact polling payload for MCP
callers and omits nested discovery, transport, state-group, timing, and
artifact details unlessincludeFullPayload=trueis 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_summarymarkers so agents can tell whether nested
diagnostics were intentionally omitted. - Added
includeFullPayloadto theunity_status_summarytool schema and
preserved the full previous nested summary shape for deep lifecycle and
transport debugging. - Kept the CLI
request-status-summaryhelper 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 version0.3.35. - Host Python unittest suite:
267tests passed with1expected 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.34package 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_playmodenow default to a compact operation summary that
preserves authoritative post-settle verdict fields while omitting full
_xuunity_lifecyclesnapshots. PassincludeFullPayload=trueto 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:
267tests passed with1expected 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 version0.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 PlayMode5/5.
0.3.33
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_waitcompact/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
OpenProcesspath 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:
264tests passed with1expected 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/12and PlayMode
5/5.
0.3.32
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_waitnow returns a compact decision verdict by default:verdicttrust_classfailure_classrecommended_next_action- terminal scenario status
- compact per-step summaries
- UI-smoke fields
- path coverage summary
- Full raw scenario payloads remain available through
verboseorincludeFullPayload. - Scenario lifecycle recovery now attributes editor cold starts / relaunches with:
editor_relaunchedprevious_editor_pidcurrent_editor_pidbridge_generation_beforebridge_generation_aftercold_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.versionstays aligned with package metadata.
Validation
- Host Python regression suite:
255/255passed, with one expected native Windows.cmdsmoke 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_waitexposesverboseandincludeFullPayload.
Full Changelog: v0.3.31...v0.3.32
v0.3.30
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_untilscenario 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-editorduplicate 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_untilscenario 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.exewithrun_installed_or_refresh_xuunity_mcp.cmd. - Existing Windows
bashlauncher config is reported aswindows_codex_launcher_mismatchinstead of duplicated. - Windows setup docs now prefer
.cmd, quote project paths, and call out PowerShell ExecutionPolicy risk for.ps1. validate-setupnow reports offline readiness scope and package import-state evidence instead of presenting manifest/config validation as live Unity readiness.- Scenario JSON accepts
operationas an alias forkind. - Scenario JSON accepts object-shaped
startPayloadandpollPayload, 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-editornow detects and reuses an already-running same-project Unity editor instead of launching a duplicate instance.open-editornow 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-readysuccess and error payloads. - A declared-but-unresolved package with a live bridgeless editor now recommends
reopen_project_for_clean_resolveinstead 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.30state:246tests passed, with one expected native Windows.cmdsmoke skipped on macOS. git diff --check: clean.- Live Unity validation on Unity
6000.0.58f2:open-editorreused existing editor PID without duplicate launchensure-ready --open-editorreused healthy bridge staterequest-health-probe: healthyrequest-capabilities: 8 capabilities supported, none unsupported- Android compile player scripts:
ok, compiler errors0
- 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.29validation included temporary Unity2022.3.67f2package EditMode self-tests:12/12passed.- End-to-end temporary project hook scenario validation passed with
poll_count=3and promoted compact summary fields.
0.3.27
v0.3.27
Added
- Added
xuunity_light_unity_mcp.cmdandxuunity_light_unity_mcp.ps1wrapper siblings using the provenrun.cmd/run.ps1Python discovery chain and executingtemplates/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_SECONDSwatchdog 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 toserver_setup_wizardto remove duplicate bash/python logic. - Shrank
xuunity_light_unity_mcp.shto a thin 28-line launcher with legacy flag checking and Python discovery (PYTHONenv,py -3,python3,python,py). Preserved the previous bash body asxuunity_light_unity_mcp_legacy.sh(callable viaXUUNITY_LIGHT_UNITY_MCP_LEGACY_WRAPPER=1). - Ported both multi-project runners into
scripts/testing/run_multi_project.py(subcommandsbatch-compile-matrixandgui-test-subset) usingThreadPoolExecutorworkers, removingxargs -Pand enabling identical parallelism overlap across macOS, Linux, and Windows. - Expanded offline CI checks to run on
masterpushes and pull requests (previously tags only), smoke-executingtemplates/run.cmdandtemplates/run.ps1on the Windows leg. - Released
v0.3.27package 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.26package metadata, server metadata, package manifests, and Git UPM examples.
v0.3.25
Changed
- Added
test-results-tablefor 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.25package metadata, server metadata, package manifests, and Git UPM examples.