アヒルのある日

株式会社AHIRUの社員ブログです。毎週更新!社員が自由に思いついたことを書きます。

AddressableAssetSystemでスクリプトからビルドパスの指定を変更する方法

こんにちは。
ちゃらいアヒルです。

本日もプログラムのお話になります。
最近バージョンアップがゴリゴリの「AddressableAssetSystem」にてスクリプトからビルドパスの指定を変更したいシチュエーションがありましたので、以下のように対応しました。

Addressableバージョンは「1.5.1」になります。

AddressableAssetGroup group = UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.Settings.FindGroup( "hoge" );

// ビルドパス(リモートにする)
group.GetSchema<UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema>().BuildPath.SetVariableByName(
  UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.Settings,
  AddressableAssetSettings.kRemoteBuildPath
);

// ロードパス(リモートにする)
group.GetSchema<UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema>().LoadPath.SetVariableByName(
  UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.Settings,
  AddressableAssetSettings.kRemoteLoadPath
);

出力時のファイル名も変更することが可能です。

// ハッシュ付きで出力
group.GetSchema<UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema>().BundleNaming = UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema.BundleNamingStyle.AppendHash;

// ハッシュなしで出力
group.GetSchema<UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema>().BundleNaming = UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema.BundleNamingStyle.NoHash;

誰かの助けになれば幸いです!
また次回!