🔐 Security
- Fixed cross-site WebSocket hijacking against the Unity Editor bridge. Browser-originated handshakes are now rejected, and every native bridge connection must authenticate with a per-project 256-bit token (
382a43a). - Added strict token discovery through
MCP_UNITY_AUTH_TOKEN,MCP_UNITY_AUTH_TOKEN_PATH, orLibrary/McpUnity/bridge-token, with fail-closed handling for missing or malformed explicit credentials. - Disabled
add_packageby default because installed packages can execute Editor code during compilation. Package installation now requires an explicit trusted-project opt-in and remains unavailable in batch mode.
🆕 What is New
- Added authentication status, token copy and rotation controls, package-install opt-in, and remote plaintext transport warnings to the MCP Unity Server Window.
- Added authenticated MCP configuration generation for JSON, OpenCode, and TOML clients without embedding the token itself.
- Added opt-in support for persistent headless MCP hosts through
AllowBatchModeServerorMCP_UNITY_ALLOW_BATCH_MODE=true, while keeping ordinary CI and cloud builds disabled by default (46b6697).
🛠️ What Was Fixed
- Kept a WebSocket error listener attached during connection termination so the Node bridge no longer exits on its first connection timeout (#155).
- Added generation-aware liveness detection for a Windows socket that binds successfully but never services requests, with careful timeout and shutdown-race handling (#156, #141).
- Made bridge configuration discovery independent of the MCP client's working directory, added explicit source diagnostics, and hardened port, host, timeout, and settings-file validation (
46b6697).
🔄 What Changed
- Breaking security migration: 1.4.x Node bridges and unauthenticated direct WebSocket clients can no longer connect. Upgrade both package components, regenerate MCP client configuration from Unity when needed, and restart every MCP client process.
- Direct WebSocket integrations must use HTTP Basic credentials as
mcp-unity:<token>and omit theOriginheader. - Remote connections remain plaintext
ws://and should only be used on a trusted network, VPN, or SSH tunnel. - Synchronized the Unity package, Node package and lockfile, MCP runtime, dashboard, and Unity Server Window versions at
1.5.0. - Expanded Unity and Node coverage for token lifecycle, Origin rejection, authentication failures, package-install policy, configuration resolution, and release metadata.
New Contributors
- @TenaciousLibbs made their first contribution in #155
Full Changelog: 1.4.0...1.5.0