v0.3.60 — Trust the main Unity Editor's compile result
v0.3.60 — Trust the main Unity Editor's compile result
Why this matters
Unity starts headless Asset Import Worker processes while it imports assets.
Those workers load editor code, but their compiler status is not the main Unity
Editor's result. A worker could previously publish a healthy Model Context
Protocol (MCP) bridge state with zero errors, making a broken or still-compiling
editor look ready.
What changed
- Asset Import Workers now stop before the MCP bridge creates a session,
transport, heartbeat, request journal, or other bridge file. - Bridge state names the writer process class. The host rejects state written
by a proven worker or other non-main process with
bridge_owned_by_non_main_process, blocks runtime requests, and reports its
compile result as unknown instead of clean. - Bridge bootstrap journal entries now record the writer process id, process
class, and editor-log path so ownership can be diagnosed later. - The release workflow now treats a published GitHub Release as required after
the tag gate. A pushed tag alone is not a completed release.
What this gives developers
- A green compile result now comes from the main Unity Editor bridge, not from
a background importer that happened to report zero errors. - When the wrong process owns bridge state, the MCP host refuses to act and
gives a clear wait-for-main-editor recovery instead of sending a request to
an untrusted bridge. - Process details in the bootstrap journal make ownership problems easier to
trace without guessing which Unity process wrote the file.
Validation
- The host suite passed
938/938tests with14expected platform skips.
Focused bridge-ownership regression passed220/220, and the
separate-process file inter-process communication (IPC) simulator passed
3/3ownership and delivery tests. - Clean projects on Unity
2022.3.62f3and6000.0.58f2each passed package
EditMode86/86, PlayMode5/5, acceptance, refresh, and compile contracts. - A Unity
2022.3.62f3consumer passed package EditMode86/86and PlayMode
with18passed and one expected environment skip. A Unity6000.0.58f2
consumer passed compile preflight6/6, acceptance10/10, the
refresh/compile contract, PlayMode lifecycle recovery, and project-action
consistency. - Public documentation checks passed
42/42desktop, mobile, and narrow-layout
browser tests.
Known limitations
- Older bridge state with no process class and no worker-shaped editor-log path
stays compatible until host process discovery can attribute its process id.
A proven non-main writer is still refused. - The
Unity Package CIcontinuous integration workflow is explicitly waived
because the runners have no Unity license secrets. This release therefore
has no CI-recorded EditMode or PlayMode result for its exact commit; the local
Unity validation above is the available package proof. Restore the gate after
configuring the documented Unity license secrets.