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.