Skip to content

v0.7.1

Choose a tag to compare

@Winlifes Winlifes released this 26 Oct 08:06
· 17 commits to main since this release

Added

  • Project-scoped HTTP endpoints, including Broker forwarding, and verified project/Editor-session guards on tool mutations. Legacy root URLs remain readable; writes require the expected_context token from an independently verified initialize response. JSON/image evidence includes identity metadata. Broker protocol v5 replaces older brokers when the package starts.
  • Passive PlayerLoop frame/clock evidence separates Editor import/compile/mode readiness, scaled-time pause, actual Update progress and application acceptance. Recording receipts distinguish encoded captures from observed gameplay frames.
  • Strict mouse routes for EventSystem, direct-button, physics and cross-frame synthetic New Input System input. Explicit routes never silently fall back; unsupported legacy polling injection fails without patching game input. Input jobs use get_task(kind=input) and own only their synthetic device.
  • Five low-frequency Full tools: verification_scope, patch_serialized_reference, inspect_render_bindings, save_verification_evidence, read_verification_evidence. Core remains 40; Full has 185 tools across 43 modules. Scoped verification uses the actual authored scene, bounded ownership and compare-before-restore cleanup; get_task(kind=verification) is observation only. Serialized reference transactions require exact preconditions, disposable-copy preflight, untouched PPtr-slot comparisons and verified byte recovery. Rendering inspection traces actual shared slots, particle trails and camera/canvas context without instantiating materials. Persisted checkpoints reuse hash-validated static inputs only, never current runtime observations.
  • Recording frame extraction can explicitly opt into an already-installed ffmpeg when the Unity decoder is unavailable. It uses no shell or network protocols, never installs dependencies, enforces existing time/frame/dimension limits and reports presentation timestamps, PNG/source hashes and executable provenance.

Changed

  • The MCP Server window reuses the existing blue Project Skills notice card to flag a selected client's legacy, unbound endpoint; it does not add a second banner. Connection and Skills guidance share one card with a single Reconfigure MCP + Skills action and client-reconnect instructions. It uses the existing combined configuration/managed-Skills workflow; clients without Skills support explicitly offer MCP only. Resolving one concern preserves the other. The status no longer labels those old entries as configured; unreadable configuration files disable the action and show a review message without breaking the window or offering an unverified rewrite.
  • Built-in workflow v1.0.7 and UI composition v1.0.9 separate compile/resource/input/render/end-to-end acceptance and add conditional execution-trust guidance. A confirmed blocking native Unity modal that MCP cannot handle may use computer use for that modal only, followed by identity/state readback; consequential save/discard/overwrite/install/security choices still require existing authority.
  • Recovery hints use the actual enabled/exposed readers; custom allowlists remain authoritative. Capability discovery reports decoder/input backend availability separately from exposure. Task revisions exclude live frame-clock counters.

Compatibility

  • Existing pinned ports are preserved, but generated URLs now include the project identity. Re-run Reconfigure MCP + Skills in the existing blue notice card, then reconnect/restart the client. Old unbound URLs still support reads; writes require expected_context from an independently verified intended Editor. These guards prevent accidental misrouting, not authentication. See migration details.

Fixed

  • Keyboard press/combo tools are no longer misclassified as read-only.
  • Native initialize/tool-result identity metadata is serialized as structural dictionaries rather than a DTO type-name string. Identity is cached on the Editor thread before transport startup so pooled status reads do not perform first-use Unity API access.

Pull requests and issues

  • Implements direct user feedback from the supplied restoration retrospective and MCP setup-window review. No GitHub PR is merged or issue closed by this release.

Validation

  • All 791 EditMode cases passed in the graphics-enabled FunplayMcp Unity 2022.3.62f3c1 Editor on macOS, with zero failures or skips (61 cases added over v0.7.0). Coverage includes actual PlayerLoop input edges, reference-preserving transactions with 168 slots/unresolved subassets, render-material non-instantiation, checkpoint invalidation, native/external decoder pixels/timestamps, Broker routing, structural native metadata and 52 connection/Skills notice cases. The external decoder was supplied only in an isolated test environment; no system or Unity package dependency was added.
  • Real HTTP MCP checks verified identity guards, 40 Core / 185 Full tools, runtime render bindings, recording/frame extraction and scoped cleanup. The v0.7.1 .NET 8 bridge additionally completed initialization, tool discovery and a real read-only tool call against the intended Editor, and preserved missing/stale/wrong-project rejections. Content-Length UTF-8 framing and empty HTTP 202 notifications were verified without spurious replies. Owned sessions returned to Edit Mode/Core; unrelated Editors were untouched.
  • Both built-in Skills were exported for all six client targets. Ten SKILL.md files passed the skill validator, two Cursor rules retained metadata, and all 30 relative reference links resolved. The single blue-card/combined-action layout was also captured and visually verified in the actual Unity window. Windows and other Unity versions are not claimed as live-tested.