Release Notes

Editor Eye の全バージョンの変更履歴

Editor Eye v0.18.7

バグ修正 2件 (K0149 / K0150)

  • generate_chiptune: ノートキーの snake_case (start_sec / duration_sec) と camelCase (startSec / durationSec) を両方受け入れるよう修正。snake_case で total_notes: 0 になる silent fail を解消
  • manage_script read: path のみで read が動作するよう修正。"name parameter is required" エラーを解消し、path から自動でファイル名を導出
技術的詳細
  • editor-eye-unity-extension: GenerateChiptuneSchema.cs — ChiptuneNote に共通バッキングフィールドで両形式対応
  • editor-eye-unity-extension: GenerateChiptune.cs — HandleCommand でも両形式にフォールバック
  • editor-eye-unity-extension: ManageScript.cs — read 時に path から name を自動導出

Editor Eye v0.18.6

バグ修正 5件

  • execute_dynamic_script: List / 匿名型 / カスタムクラスを return すると型名文字列になるバグを修正。コレクションが JSON で正しく返るように(CommandRunner + ExecutionResultSerializer)
  • generate_se: waveform スキーマ誤記 sawtooth → saw 修正、triangle を enum に追加
  • get_hierarchy / find_gameobjects: instanceId を常時出力。同名 GameObject が複数ある場合に warnings フィールドで警告を追加
  • simulate_keyboard: 旧 Input System (Input.GetKeyDown 等) に非対応であることを Description に明記
  • execute_dynamic_script: 高精度タイミング操作レシピ(Time.timeScale 凍結パターン)を Description に追記

Known issues

  • generate_chiptune: ノート内キーは camelCase (startSec / durationSec) が正解。snake_case は silent fail(K0149)
  • manage_script read: name パラメータが必須になっているバグ(K0150)
技術的詳細
  • editor-eye-unity-extension: CommandRunner.cs / ExecutionResultSerializer.cs 新規追加
  • editor-eye-unity-extension: HierarchyNodeNested / HierarchySerializer / SceneHierarchyGroup / FindGameObjects 修正
  • editor-eye-unity-extension: GenerateSESchema.cs waveform enum 修正
  • tools.yaml / catalog:gen: generate_se / operate_input_simulation / execute_dynamic_script description 更新

Editor Eye v0.18.5

recovery_hints の `exampleCall` キー名修正(hotfix)

  • tool レスポンス圧縮時に付与される `recovery_hints[].exampleCall` のキー名を get_logs の実引数に合わせて修正(`limit` → `maxCount`、`level` → `logType`)
  • LLM が recovery_hints をそのまま再呼び出しに使うケースで validation エラーになる問題を解消
  • v0.18.4 で導入した Response Summarization 機構のフォローアップ。挙動変更ではなく integration 性の改善
技術的詳細
  • editor-eye-unity-extension: RecoveryHintCatalog.cs / ResponseSizeGuard.cs の `exampleCall` キー名修正(4 箇所)
  • コミット: extension 2e7b6c5 (fix) / f1c8ae5 (version bump)

Editor Eye v0.18.4

Response Summarization 機構(K0129 シリーズ完結)

  • LLM への tool レスポンスに 25KB ハード上限ガード(Layer 1)を実装。MCP のトークン上限超過によるレスポンス到達不能事故(VFX 16 オブジェクト × ParticleSystem 追加で発生した 278KB 事象など)を恒久防止
  • 4 つの主要 tool(execute_dynamic_script / batch_execute / get_logs / observe_console)に賢い圧縮(Layer 2)を導入。情報構造を保ちつつ Soft 12KB 以下に削減し、自律ループの速度を維持
  • execute_dynamic_script の sceneDiff は同一 delta オブジェクト群を 1 group に集約(例: 100 GameObject に同じコンポーネントを追加 → 1 group + paths Top 50 + overflow カウント)
  • get_logs / observe_console の構造化ログは Type 別 Top N で削減(errors+exception 20 / warnings 10 / logs 10)、stackTrace は削除し recovery_hints で取り直し誘導
  • すべてのサマリ化時に recovery_hints が付与され、失われた情報を取り戻す具体的な tool 呼び出し例を LLM に提示
技術的詳細
  • editor-eye-unity-extension: Editor/Response/Summarization/ 配下に Layer 1/Layer 2 機構を新設(4 Tool Summarizer / 3 Field Summarizer / Registry / RecoveryHintCatalog)
  • tools.yaml 全 83 件に summarization フィールド追加(smart 4 / layer1_only 78 / passthrough 1)、catalog:gen に C1〜C4 整合性検証を導入し CI で強制
  • 実機 E2E で全 AC PASS:100 modified entries の grouping / observe_console 254 entries の構造化保持 / batch_execute 内の各 inner response 自動圧縮
  • コミット: extension 14c0c00 (P3) / 53a9b54 (P2) / 2891c9b (camelCase) / 4c1ae8d (v0.18.4 bump)

Editor Eye v0.18.3

顧客向けパッケージ整理

  • 同梱されていた開発用ドキュメント(RELEASE.md / CHANGELOG.md / release-notes-v0.10.0〜v0.15.6)を削除し、配布物を最小化
  • README.md を「LP からインストールするだけ」の手順に書き直し(GitHub / UPM 経由のインストールへの言及を削除)
  • LICENSE を整理し、現状残っているのは Roslyn 由来コンポーネント(MIT)のみのため Coplay / uLoopMCP の旧帰属表示を削除
技術的詳細
  • editor-eye-unity-extension: 開発用 35 ファイル削除、README.md / LICENSE 全面書き直し(コミット bbdd843)
  • package.json files[] に含まれる項目(Editor / Runtime / README.md / LICENSE / package.json.meta)は変更なし

Editor Eye v0.18.2

generate_* パラメータ修正 + execute_dynamic_script DX 改善(K0123 / K0125 / K0126 / K0127)

  • generate_sprite / generate_chiptune / generate_se の HandleCommand パラメータキーを camelCase に統一 — pixels_hex / duration_sec などの snake_case と BuildParams() の camelCase 出力が不一致でツールが使用不可だった問題を解消(K0123)
  • execute_dynamic_script で `return;` を `return null;` に自動置換 — async Task<object> ラッパー由来の CS0126 コンパイルエラーを回避(K0125)
  • execute_dynamic_script に `using Object = UnityEngine.Object;` エイリアスを注入 — `Object.DestroyImmediate(...)` などの CS0104 ambiguous reference エラーを解消(K0126)
  • execute_dynamic_script に `maxResultLength` パラメータ追加 — 大量出力(400 タイル操作など)でツール結果がファイル退避される問題に対応。Result/Stdout を指定文字数でトリミング。デフォルト 0(無制限・後方互換)(K0127)
技術的詳細
  • editor-eye-unity-extension: 9 ファイル変更。Editor/Assets/Generate*.cs 3 件(+21/-21)、Editor/Execution/Compilation/{WrapperTemplate,DynamicCodeSourcePreparer}.cs(+2)、Editor/Execution/UseCases/Execute*.cs 4 件(+23/-1)
  • editor-eye-server: gateway-handler.ts で selectBestSocketPublic による Case A/B/C 分岐 + enqueueForReloadEnvelope へのフォールバックを導入。hub.ts の queueTtlMs を 60s → 100s、TTL 切れを still_reloading resolve から UNITY_NOT_CONNECTED reject に変更(K0124、別リリースに反映)

Editor Eye v0.18.1

tool description / response 整備 + 増分ログ取得 + Play 強制停止経路(K0116-K0121)

  • gateway_core_screenshot / observe_screenshot に解像度指定の代替 tool 誘導と Play Mode Tint 注記を追加(K0116)
  • gateway_core_bridge_reconnect のレスポンス payload を最小化 — { success, bridge_state, note? } のみ。"reconnect" は misnomer であり実態は state query であることを description で明示(K0117)
  • execute_dynamic_compilation に asset workflow recipes (R1-R5) と Edit mode MonoBehaviour 起動 recipe (R6) を追加 — PNG asset 作成 / Read/Write 有効化 / GetAtPath timing / Mesh+Material+Prefab 一括 / anti-patterns / Reflection で Start() 実行(K0118 / K0119)
  • gateway_core_get_logs に since_timestamp パラメータ追加 — epoch ms 指定で増分取得が可能に。Play 中の例外監視 polling を効率化。レスポンスの各エントリに timestamp_ms フィールド追加(K0120)
  • editor-eye-windows-cli に play_force_stop tool 追加 — Win32 SendInput で Ctrl+P を Unity に送信し、未保存変更を保持したまま Play stop。kill_unity の中間段階として独立経路(Bridge 非依存)で動作(K0121)

Known issues

  • play_force_stop は Unity main thread が完全フリーズした場合に効かない(キーは届くが処理されない)。その場合は kill_unity に fall through を推奨
技術的詳細
  • editor-eye-unity-extension: get_logs 関連 7 ファイル変更 (+52/-20)、since_timestamp フィルタを LogFilteringService.cs で実装、LogEntryDto に TimestampMs フィールド追加
  • editor-eye-windows-cli: internal/playstop パッケージ新設、SendInput 4 段階送信 + SetForegroundWindow、MCP tool として登録
  • editor-eye-server: bridge_reconnect レスポンスは { success, bridge_state, note? } の 3 フィールドのみ。旧 attempt_count / elapsed_ms / unity_info / currentToolCount を削除
  • tools/catalog-gen: SOURCE_PATHS フォールバックを C ドライブ実 git repo に修正(K0122)

Editor Eye v0.18.0

WebSocket 接続アーキテクチャを Extension-initiated heartbeat に全面刷新(K0115)

  • Unity Extension が自発的に 10 秒ごとに ping を Server へ送信する設計に変更 — Server-initiated ping/pong 構造を廃止し、Unity 側で完結する一極設計に統一
  • HeartbeatClient.cs 新設 — [InitializeOnLoad] で AppDomain 起動時 / Domain Reload 完了時に自動起動。送信失敗時は自己検知して再接続(backoff 1s/2s/4s/8s/16s/30s + jitter)
  • Server 側で同一 license の新 WS 接続到着時に旧 socket を即破棄(immediate replace) — Domain Reload 後の新接続が 30 秒待たずに即座に採用される
  • BridgeWatchdog.cs を完全削除 — EditorApplication.update 依存の死活監視は不要に。メインスレッド停止系の障害(OS スリープ復帰、Domain Reload 中、Unity ハング)への耐性が向上
  • WebSocketClient.cs を大幅簡略化 — RunLoopAsync の reconnect ループ、AutoConnectRetryCheck、_userRequestedStop / autoReconnectDisabled フラグを削除
  • Server 側 graceState / passive reconnect loop / handleReloadStart / detachedPending を完全削除 — Domain Reload は AppDomain 破棄として割り切り、smoothing logic を不要化
  • gateway_core_bridge_reconnect を即時応答化 — 30 秒ポーリング廃止、現在の接続状態を即座に返す軽量実装に

Breaking changes

  • 同一 license で Unity Editor を 2 個同時起動する運用は明示的に非サポート(後から起動した Unity が前の Unity を WS から切断する)
  • Unity Editor が Domain Reload 中の 2〜3 秒間、tool 呼び出しは UNITY_NOT_CONNECTED を返す(Claude / LLM 側で再試行することを期待)
技術的詳細
  • editor-eye-unity-extension: -604 / +97 lines(reconnect 機構の大幅簡略化)。HeartbeatClient.cs 新設、BridgeWatchdog.cs 削除
  • editor-eye-server: -1634 / +449 lines。pingInterval / lastPongMap / PONG_TIMEOUT_MS / graceState / startPassiveReconnectLoop / handleReloadStart / detachedPending 等を全削除。initiateReconnect は polling loop と forwardToolEnvelope health check を廃止し即時状態返却に
  • hub.register に replaceExistingSessions メソッド追加 — K0020 の version 不一致時旧 socket 破棄を「同一 licenseId 新接続時の常時動作」に拡張
  • K0114(暫定対処)は本リリースで rollback 完了
  • 設計書: plan/20260513_K0115_extension_initiated_heartbeat.md

Editor Eye v0.17.1

bridge-connect の cold start タイムアウト問題を根本解消

  • POST /bridge/connect を fire-and-forget 化 — extension が main-thread dispatch をキューに積んだら即 202 を返すように変更。従来の TCS + WaitWithTimeout(15s) 方式は Railway cold start 時に CLI の 5s timeout が先に切れて「context deadline exceeded」になっていた。
  • CLI bridge-connect コマンドに ConnectWithPoll(30s) を導入 — POST 後に GET /bridge/status を 1s 間隔でポーリングし、status=Connected になったら成功を返す。Disconnected/Unauthorized になった場合は即失敗。
技術的詳細
  • BridgeHttpServer.cs: HandleConnectAsync / HandleDisconnectAsync から TCS + WaitWithTimeout を撤廃、RunOnMainThread fire-and-forget + 202 即返しに変更。WaitWithTimeout ヘルパー削除。
  • bridge.go: ConnectWithPoll(30s) 追加 — ConnectPollInterval=1s / ConnectPollTimeout=30s 定数化。

Editor Eye v0.17.0

Bridge 接続安定化 — Cold start retry / WebSocket timeout / silence detection 健全化

  • WebSocketClient retry policy 改善 — Cold start 初回接続失敗時に 5s → 15s → 30s で最大 3 回まで自動再接続。ConnectAsync に 20s timeout を導入し、ハング状態を確実に検出
  • TryAutoConnect の skip 条件を Connected/Reconnecting のみに緩和 — Connecting 状態でも retry を許可し、初回接続のリトライ成功率を向上
  • KeepAliveInterval 20s を明示設定 / ReconnectMaxDelaySeconds 10 → 30 — 中継 NAT のアイドル切断耐性を改善
  • BridgeWatchdog の main-thread API 違反を解消 — silence detection 用 timestamp を DateTime.UtcNow ベースで thread-safe 化、受信ごとに発生していた UnityException ノイズが消滅
  • kill_unity ツール追加 — Bridge 完全死時の最終手段として CLI 経由で Unity プロセスを強制終了可能(confirm=true 必須ガード付き)
  • execute_dynamic_script に 15 個の C# レシピを description に追加 — manage_* 二重呼び出しを execute_dynamic_script で代替する典型パターンを LLM に提示
  • Registry enum を semantic 名(Command/Operate/Scene/Inspect/Standard/Phase1Pull)に拡張 — tools.yaml の意味的分類を MessageHandler.cs に反映
  • WebSocket URL を api.editor-eye.app に統一 — DNS / 証明書の単一窓口化

Known issues

  • extension Connected 状態でも MCP gateway 側で UNITY_NOT_CONNECTED が返ることがある(複数 Claude クライアントの WebSocket 奪い合いに起因)— 回避手順: 他クライアント停止 + Unity 完全再起動
  • BridgeHttpServer の /bridge/connect が同期実装のため CLI 側で稀に POST timeout が発生(K0098、Phase 5 で非同期化検討)
技術的詳細
  • WebSocketClient: ReconnectMaxDelaySeconds 10 → 30、ConnectAsync linked CancellationTokenSource(20s)、KeepAliveInterval 20s 明示
  • BridgeWatchdog.NowSeconds(): DateTime.UtcNow.Ticks / TimeSpan.TicksPerSecond ベースで thread-safe
  • MessageHandler.cs Registry enum: { Standard, Command, Operate, Scene, Inspect, Phase1Pull } — dispatch は Standard と同等の UnityToolRegistry 経由

Editor Eye v0.16.3

アーキテクチャ大整理 — Phase3Scene 廃止 / UnityToolRegistry 完全統一 / tools.yaml 全数同期

  • Phase3Scene dispatch を廃止し UnityToolRegistry に完全統一 — Registry enum は { Standard, Phase1Pull } の 2 値に縮退、Coplay/Uloop 名称を完全排除
  • observe_status / observe_scene / observe_console / observe_screenshot / observe_assets / observe_runtime_variables / observe_runtime_performance / operate_input_simulation を McpTool として実装 — 既存 "Unknown Phase3Scene tool" エラーが解消
  • manage_scene_camera / capture_with_camera / manage_camera_preset / manage_muscle_capture を McpTool 化 — MessageHandler.cs が 1024 → 535 行(-48%)に簡素化
  • tools.yaml sub_actions を実装と全数同期 — 184 → 405 アクション(+221、特に manage_vfx 63 件 / manage_probuilder 36 件 / manage_graphics 40 件 / manage_animation 39 件などが正しく公開)
  • manage_scriptableobject / manage_ugui / manage_ai_navigation / manage_prefab / manage_animation / manage_camera の yaml と C# 命名規約乖離を解消 — LLM が即エラーになる積極的バグを撲滅
  • execute_dynamic_script の description に C# レシピ集 15 パターン追加 — manage_* 二重呼び出しの代替パターンを LLM に明示
  • manage_* 23 ツールの description を「単発・発見用 / 2 件以上は execute_dynamic_script」統一フォーマットに刷新
  • manage_material / manage_shader / manage_asset 等 10 ツールの args_examples を実用シナリオ集に書き換え
  • AbstractUnityTool の per-call 固定オーバーヘッド(SceneDiff/Console/State snapshot)を opt-in 化 — read 系ツール高速化
  • BridgeWatchdog 追加 — 30 秒無応答で自動再接続(60 秒 cooldown)
  • editor-eye-windows-cli kill_unity に confirm=true 必須ガード追加(v1.8.0)— Bridge 完全死時の最終手段
  • editor-eye-server: capture_with_camera の UnityToolRegistry 統一 envelope unwrap 対応
  • GatewayDispatch 自動生成スクリプト追加(catalog-gen/gen_message_handler.py + lint_dispatch.py) — tools.yaml と C# 実装の drift を機械的に検知

Breaking changes

  • manage_scene_camera / capture_with_camera / manage_camera_preset / manage_muscle のレスポンス形状が Standard envelope({success, message, data})に変更。サーバー側は対応済(編集者側 v0.16.3 + サーバー側コミット 30c47f3)

Known issues

  • bridge_reconnect ツールに対応する McpTool 実装が無い pre-existing dead entry(lint で warning 扱い)— v0.17 で実装 or 削除を判断
  • editor-eye-server に pre-existing test failures 2 件(registry count drift, tool description drift)— 別タスクで個別解消予定
技術的詳細
  • Registry enum: { Coplay, Uloop, Phase1Pull, Phase3Scene } → { Standard, Phase1Pull }
  • MessageHandler.cs: 1024 行 → 535 行(-489 行 / -48%)
  • GatewayDispatch: 66 エントリ(Standard 64 + Phase1Pull 2)に拡張、すべて catalog-gen から自動生成可能
  • LP service-catalog-data.js: SubAction 総数 184 → 405(実装と完全同期)
  • Phase3Scene の 4 ハードコードハンドラを McpTool として独立クラス化(Editor/Scene/SceneViewCameras/, Editor/Muscle/)

Editor Eye v0.16.2

PlayMode stop 30 秒タイムアウト解消

  • operate_play_mode(stop) を delayCall 方式に変更 — Domain Reload が走る前にレスポンスを WebSocket Bridge 経由で返すことで、サーバー側 30 秒タイムアウトを根本解消
  • tools.yaml operate_play_mode description に「stop 後は sleep(3000) → get_logs で Bridge connected 確認」の手順を明記(safety net)
技術的詳細
  • ControlPlayModeUseCase: EnteredEditMode を await する旧方式から、EditorApplication.delayCall で次フレームに isPlaying=false を発火する方式に変更
  • BatchDispatcher.cs の BatchRegistry.Uloop 参照(存在しない値)による pre-existing コンパイルエラーを副次修正

Editor Eye v0.16.1

manage_components set_object_ref 追加 / operate_play_mode 安定化 / 入力シミュレーション根本修正

  • manage_components に set_object_ref アクションを追加 — Inspector の public オブジェクト参照フィールド(TextMeshProUGUI, GameObject 等)を objectName/objectPath/objectInstanceId で直接設定可能に。execute_dynamic_script の迂回不要
  • operate_play_mode(stop) を async 化 — EnteredEditMode(Domain Reload 完了)を待機してからレスポンスを返すよう変更。タイムアウト 15 秒付き
  • simulate_mouse_input の座標系を Handles.GetMainGameViewSize() に統一 — Game View 固定解像度時のクリック座標ずれを解消
  • InputSystemUpdateHelper に PlayMode 終了時のコールバック強制解除機構を追加 — 次セッションへの誤入力誘発を防止
  • KeyboardKeyState / MouseInputState の cleanup タイミングを EnteredEditMode に変更 — InputSystem 完全停止後に ReleaseAllKeys/ReleaseAllButtons を実行
技術的詳細
  • ComponentOps.SetObjectReference を再利用。Undo 対応済み
  • ControlPlayModeUseCase: TaskCompletionSource<bool> + playModeStateChanged ハンドラで EnteredEditMode を待機
  • InputSystemUpdateHelper に [InitializeOnLoad] + コールバックリスト追跡機構を追加

Editor Eye v0.16.0

自律ループ強化 — コンパイルエラーの遅延検知・Component diff・Settings UI 刷新

  • DomainReloadMonitor: manage_script / execute_dynamic_script 実行後のコンパイルエラーを次回ツール呼び出し時の precedingErrors フィールドで LLM に通知
  • SceneDiffService: includeComponentDiff=true で Component 追加/削除を sceneDiff に含めるオプションを全 McpStandardResponse ツールに追加
  • Settings ウィンドウ刷新 — ブランド名「Editor-Eye」(橙+青)、Windows MCP Setup を折り畳み式に、接続ステータス + Refresh/Connect/Disconnect ボタン追加
  • 接続ポーリング間隔を 10 秒に統一
技術的詳細
  • IPrecedingErrors インターフェイス追加。McpStandardResponse<T> および ExecuteDynamicCodeResponse が実装
  • AbstractUnityTool: IPrecedingErrors 未実装ツール(ping 等)では Flush() をスキップし、エラーを次回呼び出しまで保持
  • WindowsMcpConfigurator に BridgeConnect / BridgeDisconnect / GetBridgeConnected を追加(bridge-* CLI サブコマンド経由)

Editor Eye v0.15.7

全ツール新パターン移行完了 — LLM が全ツールのパラメータを自己認識可能に

  • 旧パターン(McpForUnityTool + HandleCommand(JObject))を 52 ファイル → 新パターン(AbstractUnityTool<Schema,Response>)へ全数移行
  • get_command_details が全 77 ツールに対して型付きパラメータスキーマを返すようになった(旧: "properties: {}")
  • 統一レスポンス形式 McpStandardResponse<T>(success / message / data)を導入
  • ToolName を全面 snake_case 統一(execute-dynamic-script → execute_dynamic_script 等)
  • CommandRegistry / McpForUnityTool / McpForUnityResource を完全削除

Breaking changes

  • ToolName が kebab-case → snake_case に変更(例: execute-dynamic-script → execute_dynamic_script)。カスタムスクリプトで旧名を直接参照している場合は更新が必要
技術的詳細
  • 77 IUnityTool 実装(旧 60)が UnityToolRegistry 一元管理に統一
  • Coplay dispatch を CommandRegistry から UnityToolRegistry へ切り替え(MessageHandler + BatchDispatcher)
  • McpToolAttribute に Group / RequiresPolling / PollAction / MaxPollSeconds を追加

Editor Eye v0.15.6

内部リファクタ: inline 画像処理の重複除去

  • v0.15.5 で導入した inline (base64) 画像配信を、observe_screenshot 1 ルートに集約
  • gateway_core_screenshot 経由の冗長な inline 処理を削除(同じキャプチャに対して 2 回エンコードしていた問題を解消)
  • ユーザー視点の挙動は変わらず、観察可能なオーバーヘッド削減のみ
技術的詳細
  • ScreenshotTool.ApplyInlineImage / ScreenshotSchema.ReturnMode / ScreenshotResponse.InlineImageBase64 等を削除
  • gateway_core_screenshot は path 形式のみに統一(observe_screenshot は inline / path / both 全 mode 対応継続)

Editor Eye v0.15.5

キャプチャ 3 tool に return_mode パラメータ追加(PNG inline 配信)

  • gateway_core_screenshot / gateway_scene_capture_with_camera / observe_screenshot に return_mode: "path" | "inline" | "both" を追加
  • "inline" モードでは PNG を base64 で MCP レスポンスに直接埋め込み(LLM へ 1-hop 配信)
  • "both" モードではディスク保存 + inline 同時提供
  • 既存動作は return_mode="path"(デフォルト)で完全互換維持

縦横比厳守の自動 downscale(inline モード)

  • inline 配信時に PNG が 1 MB 超の場合、縦横比を保持したまま自動縮小(1920 / 1280 / 800 px の長辺基準)
  • ユーザーが maxResolution を明示指定した場合は自動 downscale はスキップ
  • auto_downscaled フィールドで縮小有無を通知
技術的詳細
  • ScreenshotSchema.cs: ReturnMode enum + return_mode / maxResolution フィールド追加
  • ScreenshotTool.cs: ApplyInlineImage ヘルパーでサイズ閾値判定 + DownscaleTexture + base64 化
  • MessageHandler.cs: SaveCaptureWithInline / BuildCapturePayload ヘルパー追加、3 handler 対応
  • response-normalizer.ts: inline_image_base64 を MCP image content block に昇格、text payload から除去

Editor Eye v0.15.4

Domain Reload 中のリトライ通知(LLM 向け)

  • スクリプトコンパイル後の Domain Reload 中に 60 秒待機しても Unity が再接続しない場合、エラーではなく「まだ待機中」通知を LLM に返すように変更
  • LLM が同じ tool を最大 4 回(合計 4 分)自動リトライできるようになった

manage_editor に set_scene_view_size / set_game_view_size を追加

  • LLM が SceneView と GameView のウィンドウサイズを自由に指定できるようになった
  • スクリーンショット撮影前の viewport セットアップなどに活用可能(width/height: 200〜3840 / 200〜2160)

Known issues

  • set_game_view_size は Unity 内部 API (Reflection) を使用。将来の Unity バージョンで動作しなくなる可能性あり
技術的詳細
  • hub.ts: enqueueForReload TTL タイマー reject → resolve({ status: "still_reloading" }) に変更
  • _forward-tool-helper.ts (uloop/coplay): still_reloading 検出時に isError:false の structured MCP response を返す
  • ManageEditor.cs: SetSceneViewSize / SetGameViewSize private method 追加

Editor Eye v0.15.3

Bridge HTTP 接続の安定性向上

  • /bridge/connect や Settings ウィンドウの再接続ボタンが、ユーザーコード(execute_dynamic_script 経由の独自処理など)の例外で 15 秒タイムアウトしていた問題を修正
  • メインスレッド dispatch が他の Editor 拡張・スクリプトの不具合に巻き込まれないよう独立化
技術的詳細
  • WebSocketClient.InstallDispatcher を named method (DrainMainThreadQueue) に変更
  • MulticastDelegate chain abort に対する isolation 防御を追加

Editor Eye v0.15.2

内部リリースフロー刷新

  • リリース手順を簡素化(GitHub Release / CI / UPM tarball / 多段検証を全廃)
  • ユーザー向け配布は .unitypackage 1 形式に統一(変更なし、従来通り 1 クリックで導入可能)
技術的詳細
  • metaファイル欠落を修正(package.json files 配列に root .meta を追加)

Editor Eye v0.15.1

安定性改善

  • Unity の Domain Reload(スクリプトコンパイル後の再初期化)中に発生していた接続不安定の問題を修正
  • スクリプトを編集してコンパイルが走った直後でも、より確実に Editor Eye が再接続するようになりました
技術的詳細
  • BridgeHttpServer の DomainUnload race condition を修正
  • commit: af2f2ac

Editor Eye v0.15.0

capture_with_camera 全面改修

  • 返却形式を base64 インライン → ImagePath(ディスク保存 PNG)に変更
  • capture_target パラメータ追加: scene(SceneView)/ game(GameView)/ canvas(UI Canvas)の 3 モード
  • maxResolution パラメータ追加(長辺 px 指定で縦横比を保ったままダウンスケール)

observe_screenshot 改善

  • maxResolution パラメータ追加

CLI 自動インストール(CliAutoInstaller)

  • Unity 起動時に cli.exe を %LOCALAPPDATA%\EditorEye\ に自動コピー
  • 以降のバージョンアップで claude_desktop_config.json / settings.json の変更不要

Editor Eye v0.3.0

· Phase 3a (Sprint 25-27)

Dashboard UI (柱 1)

  • プラン / 使用量 / 次回請求日 / プラン利用開始日 の一括表示
  • Cancel / Upgrade / Downgrade アクション(Lemon Squeezy Customer Portal + Checkout 連携)
  • 英語版 /en/dashboard

.unitypackage CI + LP 配布 (柱 3)

  • v*.*.* タグ push で GitHub Actions が .unitypackage を自動ビルド
  • Cloudflare R2 (downloads.editor-eye.app) へ配信、manifest.json で SHA-256 / size 公開
  • /install ページから 1 クリック DL
  • Git URL fallback 手順も提示

Unity 対応バージョン拡大 (§4.3a)

  • Unity 6000.x LTS のみ → Unity 2022.3.22f1 以上に下方拡張
  • LP Hero バッジ文言を更新

Known issues

  • AutoUpdater(新版通知 + SHA256 検証 Unity 側実装)は Sprint 28 リリース予定
  • Runtime/Data/ MuscleValueMap_Humanoid.json は Sprint 41 で投入予定

最新版のダウンロードは インストールガイド から行ってください。 常に最新版のみが配信されます(Unity 2022.3.22f1 以上対応)。