以前投稿した記事のリファインです。
なにをするのか
アセット名を const string で列挙し、自動生成
まずはこれです。
Addressables.LoadAssetAsync<Object>("SceneAdv")
↓
Addressables.LoadAssetAsync<Object>(AddressableConst.SceneAdv)
アセット名を文字列で直接指定すると、タイプミスがあったり、名前変更時にコードの問題に気づかないなど、開発後期になるほど頭の痛い不具合を起こしがち。
これをなくすよう、自動的に const で定義しようというエディタ機能です。
以下のコードが、AAS ビルド時に自動生成されます。
ファイルだけでなく、ラベル名も登録されます。
なお、00_filename のような名前は _00_filename と先頭に「_」(アンダーバー)が付加されます。
「-」(ハイフン)についても「_」に変換されます。
(C# で許される変数名に自動変換します)
Addressable に、指定された名前のアセットが登録されているか確認
2023 現在の AAS では代替手段があるかもしれませんが(未調査)、以下のコードで AAS に登録のあるファイル(またはラベル)か確認できます。
そもそも const を使っている限り不要ですが、地味に必要になるケース(ファイル名を文字列連結で作り出す場合など)があるので用意しました。
AddressablesKey.Contains("SceneAdv")
ダウンロード
GitHub の Assets/Editor/AddressableKeyList を自分の環境にコピーしてください。
使い方
Tools > Addressable > Create AddressableKeyList
より、自動生成されるコード名を設定します。
Create で生成され、以後は AAS をビルドする度、自動的に作成されるようになります。
(番外)アセット名は Simplify Addressable Names をオススメします
言われずともそうしている方が多いと思いますが、念のため。