概要 AssetBundleResource でシーンのアセットバンドルのダウンロードに失敗しても シーンの読み込み処理に進んでしまう シーンの読み込み処理は SceneProvider.cs に書かれており、 下記のエラーと例外が発生する Scene 'XXXX' couldn't be loaded because …
概要 Addressable Asset System で Play Mode Script を 「Use Existing Build」にしている状態で Unity を再生した時に Player content must be built before entering play mode with packed data. This can be done from the Addressables window in the …
概要 var path = $"{Application.persistentDataPath}/com.unity.addressables"; var files = Directory.GetFiles( path, "*", SearchOption.AllDirectories ); foreach ( var file in files ) { File.Delete( file ); } Addresable Asset System でリモート…
概要 /storage/emulated/0/Android/data/【Package Name】/files/ リモートカタログのキャッシュは上記フォルダ内の 「com.unity.addressables」フォルダに保存される アセットバンドルのキャッシュは上記フォルダ内の 「UnityCache」フォルダに保存される
概要 using System; using System.IO; using UnityEditor; using UnityEngine; public static class Tools { [MenuItem( "Tools/リモートカタログのキャッシュを削除" )] private static void DeleteRemoteCatalogCacheFolder() { var path = $"{Application…
概要 using System; using System.Diagnostics; using UnityEditor; using UnityEngine; public static class Tools { [MenuItem( "Tools/リモートカタログのキャッシュのフォルダを開く" )] private static void OpenRemoteCatalogCacheFolder() { var path…
概要 [Serializable] public struct ResourceLocationJsonData { [SerializeField] private string m_internalId; [SerializeField] private string m_primaryKey; [SerializeField] private string m_providerId; [SerializeField] private string m_resour…
概要 InitializeAsync でリモートカタログを読み込む処理は InitializationOperation.CreateInitializationOperation で記述されている リモートカタログをサーバからダウンロードする処理は TextDataProvider.InternalOp.Start で記述されている internalId…
概要 Windows 10 リモートカタログのファイル名は catalog_1.0.0 RemoteLoadPath は http://localhost/[BuildTarget] 表の横幅がおかしいので気が向いたら直す リモートカタログがキャッシュされていない場合 ResourceType PrimaryKey InternalId ResourceMa…
概要 C:\Users\【ユーザー名】\AppData\LocalLow\【Company Name】\【Product Name】\com.unity.addressables InitializeAsync でリモートカタログが読み込まれると 上記フォルダにリモートカタログの .hash と .json が保存される
概要 AddressablesMainContentCatalog ローカルカタログ AddressablesMainContentCatalogRemoteHash リモートカタログ AddressablesMainContentCatalogCacheHash ダウンロードしたリモートカタログが保存される場所 インターネットにアクセスせずにゲームを…
概要 Project ビューで Build In Data.asset を選択して Include Resources Folders Include Build Setting Scenes のチェックを外す
概要 Debug.Log( "CheckForCatalogUpdates 開始" ); // リモートカタログの更新があるかどうか確認する Addressables.CheckForCatalogUpdates().Completed += checkHandle => { Debug.Log( $"CheckForCatalogUpdates 終了:{checkHandle.Status}" ); // 更新…
概要 public static class Hoge { public static string Fuga => "ピカチュウ"; } 例えば上記のような静的プロパティが存在する場合、 [Hoge.Fuga]/[BuildTarget] のような記述で Profile の LocalBuildPath や LocalLoadPath などに指定できる このプロパテ…
概要 Addressable Asset System 1.7.4 だと AddressableAssetSettings の設定を Inspector で変更して Ctrl + S を押しても保存されない 1.7.5 も同様だった Inspector を Debug モードにして値を変更した場合は正常に保存できる
概要 項目 内容 BuildTarget [UnityEditor.EditorUserBuildSettings.activeBuildTarget] LocalBuildPath [UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget] LocalLocadPath {UnityEngine.AddressableAssets.Addressables.RuntimePath}/…
概要 PlatformMappingService.GetPlatform を使用すると AddressablesPlatform という列挙型でプラットフォーム情報を取得できる Unity エディタ上であれば、EditorUserBuildSettings.activeBuildTarget に紐づく AddressablesPlatform の値が返ってくる そ…
概要 BuildPath "Library/com.unity.addressables/StreamingAssetsCopy/" + StreamingAssetsSubFolder + "/" + PlatformMappingService.GetPlatform() PlayerBuildDataPath Application.streamingAssetsPath + "/" + StreamingAssetsSubFolder + "/" + Platf…
概要 [MenuItem( "Tools/Hoge" )] private static void Hoge() { var filename = "【アセットバンドルのファイル名】"; var hash = HashingMethods.Calculate( filename ); Debug.Log( hash ); } HashingMethods.Calculate を使用する アセットバンドルのフ…
概要 グループ内のシーンファイル 【グループ名の lowercase】_scenes_all.bundle という名前のアセットバンドルに含まれる グループ内のシーンファイル以外のアセット 【グループ名の lowercase】_assets_all.bundle という名前のアセットバンドルに含まれ…
渡せるもの アドレス ラベル 英数字の羅列のアセットバンドル名 渡せないもの アセットバンドル名 Status に Succeeded が返ってくるが、何もダウンロードされない
概要 ContentCatalogProvider が JsonAssetProvider を使用している ContentCatalogProvider.cs 64行目 JsonAssetProvider は TextDataProvider を継承している TextDataProvider にダウンロード処理が記載されている
概要 public static void GetDownloadSizeAsync ( IList<string> key, Action<long> onSuccess, Action onFailure = null ) { void OnComplete( AsyncOperationHandle<long> handle ) { if ( handle.Status != AsyncOperationStatus.Succeeded ) { onFailure?.Invoke(); return; </long></long></string>…
概要 ArgumentException: An item with the same key has already been added. Key: XXXXXXXX Addressable Asset System でグループの GUID が重複している状態でビルドすると 上記のエラーが発生してアセットバンドルのビルドに失敗します 修正方法 Address…
ソースコード 使用例 [MenuItem( "Addressable/全ラベルをクリップボードにコピー" )] private static void CopyAllLabelToClipboard() { var labels = AddressableUtils.GetAllLabel(); var text = string.Join( "\n", labels ); EditorGUIUtility.systemCo…
概要 [RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.SubsystemRegistration )] private static void InitAddressable() { Addressables.InitializeAsync().Completed += handle => Debug.Log( handle.Status ); } 上記のように RuntimeInitial…
概要 #if UNITY_EDITOR var guidList = UnityEditor.AssetDatabase.FindAssets( "t:AddressableAssetSettings" ); var guid = guidList.FirstOrDefault(); var path = UnityEditor.AssetDatabase.GUIDToAssetPath( guid ); var settings = UnityEditor.Asset…
ソースコード 使用例 [MenuItem( "Addressable/ダウンロードしたアセットバンドルのキャッシュのフォルダを開く" )] private static void OpenDownloadCacheFolder() { var path = AddressableUtils.GetDownloadCacheFolderPath(); Debug.Log( $"ダウンロー…
概要 Error while downloading Asset Bundle: CRC Mismatch. Provided XXXXXXXX, calculated YYYYYYYY from data. Will not load AssetBundle 'http://ZZZZZZZZ' Addressable Asset System で上記のエラーに遭遇することがあった リモートカタログが正しく読…
ソースコード 使用例 [MenuItem( "Addressable/全グループ名をクリップボードにコピー" )] private static void CopyAllGroupNameToClipboard() { var groupNames = AddressableUtils.GetAllGroupName(); var text = string.Join( "\n", groupNames ); Edito…