【Unity】【Addressables】EZAddresserからSmart Addresserへの移行手順

EZAddresserからSmart Addresserへの移行手順をまとめました。

EZAddresserとは?

EZAddresserは2年ほど前に僕がOSSとしてリリースしたライブラリです。

github.com

EZAddresserでは、Addressablesという名前のフォルダにアセットを放り込んでいくだけで、自動的にAddressableにアドレスが登録されます。

詳しくは以下の記事を参照してください。

light11.hatenadiary.com

Smart Addresserとは?

これに対してSmart Addresserは、僕の所属する企業からOSSとしてリリースしたライブラリです。開発は僕が担当しています。

github.com

こちらも目的としてはEZAddresserと同じで、Addressableのアドレスの付与を自動化するためのツールとなっています。

ただし、EZAddresserの反省を踏まえてコンセプトレベルで改良を加えています。
具体的には以下の点がEZ Addresserよりも優れています。

  • ルールベースでより柔軟に、細かくアドレスを設定できる
  • インポート時にアドレス付与、ビルド前に付与、などワークフローに合わせた設定が可能
  • 必要なアセットだけをビルドするバージョン管理機能がある

詳しい使い方は以下のドキュメントを参照してください。

github.com

基本的には移行を推奨

さてそれではこれらのどちらを使うべきかという話ですが、Smart Addresserを使うことを推奨しています。
現在EZAddresserを使っていただいている方も基本的には移行を推奨しますが、特に不満がなくリリースが近ければ無理に移行しなくても問題はないです。
EZAddresserについてはこれ以上の改善はしませんが、バグ修正くらいは報告があればする予定です。

移行方法

移行方法についてですが、Smart Addresserはルールベースで柔軟にアドレスを付与できるツールであるため、EZAddresserのように「Addressablesという名前のフォルダに放り込んだらアドレスを付与」というルールも当然作れます。
なのでEZAddressserからそのまま移行する場合にはSmart Addresserでそのようなルールを設定するのが良いです。

Smart Addresserでは以下の手順でこれを実現できます。
※ インストール方法や基本的な使い方はドキュメントを参照してください

  1. アセットを所属させるAddressable Groupを作成しておく
  2. Assets > Create > Smart Addresser > Layout Rule Data からレイアウトルールデータを作成
  3. 2.をダブルクリックしてエディタを開く
  4. 1.で作ったグループのControlカラムにチェックを入れて選択
  5. Asset GroupsにAsset Path Filterを追加し Asset Path に /Addressables/ と入力
  6. Address Providerを適宜編集

設定

さらに、アセットのインポート時に自動的にアドレスを付与したい場合には、Project Settings > Smart Addresser > Primary Data にこのレイアウトルールデータを入れてください。

Project Settings

これでAddressablesと名前のついているフォルダに放り込んだアセットに自動的にアドレスが振られるようになりました。

関連

light11.hatenadiary.com

参考

github.com

github.com