3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Unity】Addressables の全アドレスを定数宣言するクラス

Last updated at Posted at 2022-12-31

概要

AddressablesAddressable NamePathを全て宣言するクラスを生成できるクラスAddressDefineCreatorを作りました。
アドレスの入力ミスを防ぎ利便性を高められます。
image.png

使い方

メニューバーからToolsAddressablesOpen Address Define Creator を選択するとAddressDefineCreatorが表示されます(ファイルが無い場合は保存先指定ダイアログが表示されます)。
Build Addressables And Update Address Defineボタンを押すと Addressables ビルドが走ってAddressDefineクラスが生成されます。
Update Address Defineボタンを押すとAddressDefineクラスが生成されます。

※上部のAddressable Asset Settingsは、右下あたりをトリプルクリップするとAddressables Groupsが開く配置になっています。

一部を定義から除外する方法

Ignore GroupsAddressables Groupsの名前を入れると、そのグループの定義クラスは生成されません。
Ignore Address Wordsに文字列を入れると、その文字列が含まれるAddressable Nameは定義されません。
Ignoreのリストに入れるグループ名や文字列はMirrored Infomationsからコピペすると楽です。
Update Address Frequent Wordsボタンを押すと、Addressable Nameによく登場する文字列が列挙されます。

Mirrored InfomationsAddressablesの情報を表示しているだけなので、編集しても元通りになります。

コード

下記2つのコードをEditorフォルダに入れてご利用ください。

ScriptBuilderの使い方はこちら

上記のコードから下記のようなクラスが生成できます。

AddressDefine.cs
namespace Addressables
{
    public static class AddressDefine
    {
        public static class BuiltInData
        {
            public const string ResourceObject = "ResourceObject";
        }
        public static class DefaultLocalGroup
        {
            public const string prefab1 = "prefab1";
            public const string prefab2 = "prefab2";
            public const string audioClip = "audioClip";
        }
    }
}

備考

Addressable のビルド時にAddressDefineファイルを生成したかったのですが実装できませんでした。実装方法をご存知の方がいましたら教えていただけると助かります。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?