docs.unity3d.com
    目次を表示する/隠す

    継続的なインテグレーション

    継続的インテグレーション (CI) システムを使用して、Addressables コンテンツビルドとアプリケーションプレイヤービルドを実行することができます。このセクションでは、CI システムによる Addressables のビルドの一般的なガイドラインを示します。ただし、各プロジェクトには独自の要件と制限があるため、状況によっては適用されないガイドラインがあることに注意してください。

    コンテンツビルダーの選択

    Addressables コンテンツのビルド時に行う主な選択の 1 つは、コンテンツビルダーの選択です。デフォルトでは、AddressableAssetSettings.BuildPlayerContent() を呼び出すと、BuildScriptPackedMode スクリプトが IDataBuilder として使用されます。BuildPlayerContent() 関数は ActivePlayerDataBuilder 設定を確認し、このスクリプトの BuildDataImplementation(..) を呼び出します。

    独自のカスタム IDataBuilder を実装し、それを CI ビルドに使用する場合は、AddressableAssetSettings の ActivePlayerDataBuilderIndex プロパティを設定します。デフォルトでは、適切な設定インスタンスには AddressableAssetSettingsDefaultObject.Settings を通じてアクセスできます。このインデックスは、AddressableAssetSettings.DataBuilders リストでの IDataBuilder の位置を参照します。以下のサンプルコードは、カスタム IDataBuilder を設定する方法を示しています。

    
    #if UNITY_EDITOR
        using UnityEditor.AddressableAssets;
        using UnityEditor.AddressableAssets.Build;
        using UnityEditor.AddressableAssets.Settings;
        using UnityEngine;
    
        internal class CustomDataBuilder
        {
            public static void SetCustomDataBuilder(IDataBuilder builder)
            {
                AddressableAssetSettings settings
                    = AddressableAssetSettingsDefaultObject.Settings;
    
                int index = settings.DataBuilders.IndexOf((ScriptableObject)builder);
                if (index > 0)
                    settings.ActivePlayerDataBuilderIndex = index;
                else if (AddressableAssetSettingsDefaultObject.Settings.AddDataBuilder(builder))
                    settings.ActivePlayerDataBuilderIndex
                        = AddressableAssetSettingsDefaultObject.Settings.DataBuilders.Count - 1;
                else
                    Debug.LogWarning($"{builder} could not be found " +
                                     $"or added to the list of DataBuilders");
            }
        }
    #endif
    
    

    Addressables コンテンツビルダーのキャッシュのクリーンアップ

    IDataBuilder の実装には、そのデータビルダーで作成されたファイルをすべてクリーンアップする ClearCachedData() メソッドが定義されています。例えば、デフォルトの BuildScriptPackedMode スクリプトでは以下が削除されます。

    • コンテンツカタログ
    • シリアル化された設定ファイル
    • ビルドされた AssetBundle
    • 作成されたすべての link.xml ファイル

    CI プロセスの一部として IDataBuilder.ClearCachedData() を呼び出すと、以前のビルドで生成されたファイルがビルドに使用されないようにすることができます。

    Scriptable Build Pipeline のキャッシュのクリーンアップ

    Scriptable Build Pipeline (SBP) のキャッシュをクリーンアップすると、Library ディレクトリの BuildCache フォルダーと、ビルドで生成されたすべてのハッシュマップ、およびタイプデータベースが消去されます。Library/BuildCache フォルダーには、ビルド中に SBP によって作成された .info ファイルが含まれます。これらがある場合、以降のビルドでは、変更されていないデータを再び生成する代わりに、これらの .info ファイルからデータが読み取られます。

    プロンプトダイアログを開かずにスクリプトで SBP キャッシュを消去するには、BuildCache.PurgeCache(false) を呼び出します。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)