コガネブログ

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

【Unity】Addressable Asset System で差分ビルドが必要なエントリを取得する方法

概要

using UnityEditor;
using UnityEditor.AddressableAssets;
using UnityEditor.AddressableAssets.Build;
using UnityEngine;

public static class Example
{
    [MenuItem( "Tools/Hoge" )]
    private static void Hoge()
    {
        var settings = AddressableAssetSettingsDefaultObject.Settings;
        var path     = "Assets/AddressableAssetsData/【プラットフォーム】/addressables_content_state.bin";

        foreach ( var entry in ContentUpdateScript.GatherModifiedEntries( settings, path ) )
        {
            Debug.Log( entry.address );
        }
    }
}
  • ContentUpdateScript.GatherModifiedEntries で差分ビルドが必要な
    (アセットバンドルビルド後に変更が入った)アセットのリストを取得できる
  • グループの「Content Update Restriction」の「Update Restriction」が
    「Can Change Post Release」のものは無視される