Skip to content

Release v4.3.2

Choose a tag to compare

@github-actions github-actions released this 13 Sep 07:15
· 6 commits to main since this release
a5f9c7c

4.3.2

コマンドの接続先を、最初に選んだプロジェクトに固定するリリースです。対象の Editor が見つからなくなったときは、別の Editor に送らず、理由を出力して終了します。

更新の手順

4.3.x から

isuzu-unity-cli update

CLI を更新してから、開いている Editor のパッケージを 4.3.2 に更新します。CLI の更新に失敗した場合、パッケージは更新しません。

4.2.0 から

4.2.0 の CLI には update がありません。4.3.0 で追加したものです。先に CLI を更新してください。

isuzu-unity-cli upgrade      # CLI を 4.3.2 に更新する
isuzu-unity-cli doctor --fix # エージェント用スキルを 4.3.2 のものに更新する
isuzu-unity-cli update       # 各プロジェクトのパッケージを 4.3.2 に更新する

doctor --fix が必要なのは、4.2.0 の upgrade が、更新前の実行ファイルのままスキルを検証するためです。4.3.2 以降の upgrade は更新後の実行ファイルで検証するので、この手順は要りません。

パッケージだけを更新する場合は、Package Manager で Git URL に #v4.3.2 を付けて入れ直すか、VCC / ALCOM で 4.3.2 を選んでください。

4.3.0 に、MCP クライアントから見える変更がいくつかあります。

  • 応答がツールの上限を超えた場合、内容を送らずに isError を返します。
  • 応答から structuredContent を削除しました。同じ JSON がテキストに入っています。
  • capture_screenshot、reflect_read、gpu_readback から読み取り専用の注釈を外しました。名前に反して副作用があるためです。reflect_read は getter を実行するので、Renderer.material を読むと共有マテリアルの複製ができます。capture_screenshot はウィンドウを手前に出し、gpu_readback は転送が終わるまでメインスレッドを止めます。読み取り専用と宣言している間、クライアントはこれらを確認なしに実行し、勝手に再試行することがありました。
  • ツールが宣言していない引数は、無視せずにエラーを返します。
  • asset_export_package の保存先の引数名が file から destination に変わりました。
  • console_read_logs は、stack_trace を指定しない限りスタックトレースを返しません。
  • CLI は、未定義のオプションと値の無いオプションを終了コード 2 で拒否します。同じオプションを 2 回指定した場合は配列として送ります。

4.1.x 以前から

手順は 4.2.0 からと同じです。上に加えて、4.2.0 と 4.1.0 の変更が適用されます。

  • project_assemblies の戻り値から fullName を削除しました。
  • scene_browse_hierarchy のノードは id を返さず、既定値のキーを省きます。
  • CLI は、出力をパイプやリダイレクトに渡すとき JSON を整形しません。

v3 から

CLI の名前もインストール方法も変わっています。v3 からの移行を参照してください。

主な変更

  • verify、jobs --wait、mcp-stdio は、最初に選んだプロジェクトのパスを開いている Editor にだけ再接続します。そのパスを開いている Editor がちょうど 1 つでないときは、理由と切り替え方を出力して終了します。どの Editor も開いていない Unity プロジェクトの中で実行したコマンドは、たまたま起動している別のプロジェクトの Editor に送らず、終了コード 3 で終了します。
  • verify --test が、失敗したテストや結論の出なかったテスト(Inconclusive)が Editor の 200 件の上限より後ろにあるとき、成功と報告していた不具合を修正しました。
  • update は、パッケージを更新する前に CLI を更新します。更新に失敗したバージョンが manifest に書かれることはなくなりました。最新リリースの確認も、更新通知用の 6 時間キャッシュを使わず、GitHub に問い合わせます。
  • 名前に / を含む GameObject や、[数字] で終わる GameObject を、階層パスから正しく解決できるようになりました。ui_hit_test と asset_broken_references も同じ形式でパスを返します。
  • 入力の検証を次のように直しました。
    • Transform の入力(position、rotation、scale)は、3 つとも検証してから反映します。
    • prefab_create は、Unity が未インポートのファイルを上書きしません。
    • scene_create にフォルダーのパスを渡した場合、開いているシーンに触れる前にエラーを返します。
    • render_capture_ab を実行中に再度呼び出した場合、エラーを返します。
  • 手動で停止したサーバーが、ドメインリロードのあとに自動で起動しなくなりました。Settings の Register を押している間 Editor が応答しなくなることもなくなり、CLI の行に再確認のボタンが付きました。
  • MCP では、job_status が返す結果にも、そのジョブを実行したツールの上限が適用されます。
  • リリースが server.json を MCP レジストリに公開するようになりました。

すべての変更は CHANGELOG にあります。

謝辞

@meiiie さんに感謝します。再接続をプロジェクトのパスに固定する最初の修正(#42)と、テスト結果の集計の修正(#41)は、どちらもこの方によるものです。4.3.0 のベトナム語対応(#34)も同じ方です。


What's Changed

Other Changes

Full Changelog: v4.3.1...v4.3.2