コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Addressable Asset System のテンプレートとグループの設定が等しいか確認するクラス

ソースコード

使用例

using UnityEditor;
using UnityEditor.AddressableAssets;
using UnityEditor.AddressableAssets.Settings;
using UnityEngine;

public class Example
{
    [MenuItem( "Tools/Hoge" )]
    private static void Hoge()
    {
        var settings = AddressableAssetSettingsDefaultObject.Settings;
        var template = ( AddressableAssetGroupTemplate ) settings.GetGroupTemplateObject( 0 );
        var group    = settings.FindGroup( "Example" );

        Debug.Log( AddressablesAssetGroupTemplateEqualityComparer.IsEquals( template, group ) );
    }
}
  • Addressable ではスクリプトからテンプレートをグループに適用した時に
    変更が発生しなくてもインポート処理が発生してしまう
  • 上記のクラスを使用することで、変更が発生する時だけ
    テンプレートをグループを適用できるようになり、
    不要なインポートの発生を防ぐことができる