2020-03-01から1ヶ月間の記事一覧
スライド
スライド
概要 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…
概要 項目 サイズ ファイル行数 空のゲームオブジェクトのプレハブ 1KB 32行 デフォルトの Cube プレハブ 3KB 94行 デフォルトの Particle System のプレハブ 113KB 4755行 ファイルの中身 空のゲームオブジェクトのプレハブ デフォルトの Particle System …
概要 using System.Threading.Tasks; using UnityEditor; using UnityEngine; public class Example { [MenuItem( "Tools/Run" )] private static void Run() { RunAsync(); } private static async void RunAsync() { var count = 10; for ( int i = 0; i <…
概要 C:\Windows\Microsoft.NET\Framework64\vX.X フォルダ内の System.Windows.Forms.dll を Unity プロジェクトの Editor フォルダに追加して using System.Windows.Forms; using UnityEngine; public static class Example { [UnityEditor.MenuItem( "Too…
概要
概要
はじめに Unity 初心者向けの技術書「Unityで作る2Dアクションゲーム」を BOOTH で販売開始しました 商品ページ:https://baba-s.booth.pm/items/1883344 完成プロジェクト:https://github.com/baba-s/techbook-unity-2d-action-game 本書で作成するゲーム …
ソースコード public static class Utils { public static IReadOnlyList<string> List { get; } = new [] { "abstract", "as", "base", "bool", "break", "byte", "case", "catch", "char", "checked", "class", "const", "continue", "decimal", "default", "deleg</string>…
ソースコード public static class Utils { public static IReadOnlyList<string> List { get; } = new [] { "abstract", "as", "base", "bool", "break", "byte", "case", "catch", "char", "checked", "class", "const", "continue", "decimal", "default", "deleg</string>…
ソースコード 使用例 [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…
ソースコード 使用例 [MenuItem( "Addressable/全アドレスをクリップボードにコピー" )] private static void CopyAllAddressToClipboard() { var addresses = AddressableUtils.GetAllAddress(); var text = string.Join( "\n", addresses ); EditorGUIUtil…
概要 通信処理に進む前に弾かれる AssetBundle Provider の処理まで進まないので 通信処理が走らないようになっている LoadAssetAsync 関数の中で下記のように処理が行われている m_ResourceLocators に登録されているアドレスやラベルなら ResourceManager.…
概要 Addressables.LoadContentCatalogAsync の引数に渡すパスは絶対パスや URL など // 例1 var url = @"【Unity プロジェクト】\ServerData\StandaloneWindows64\catalog_1.0.0.json"; var handle = Addressables.LoadContentCatalogAsync( url ); // 例2 …
概要 Addressables.LoadResourceLocationsAsync( address ).Completed += handle => { var isSuccess = handle.Status == AsyncOperationStatus.Succeeded && handle.Result != null && 1 <= handle.Result.Count ; .... }; LoadResourceLocationsAsync は通…
概要 Addressable Asset System は初期化用の関数を呼び出さなくても Addressables クラスのいずれかの関数を呼び出したタイミングで自動で初期化してくれる 内部で AddressableAssets.ChainOperation で自動で初期化してくれる 任意のタイミングで初期化し…
概要 【Unity プロジェクト】/Library/com.unity.addressables/StreamingAssetsCopy/ 以下のアセットは、アプリビルド時に 【Unity プロジェクト】/Assets/StreamingAssets フォルダに自動で追加される 上記の処理は「AddressablesPlayerBuildProcessor.cs」…
概要 すべてのグループを削除してから再度グループを作成して 設定を変更してビルドしたら反映された 関連記事
概要 Addressables.InternalIdTransformFunc = location => { var internalId = location.InternalId; // アセットバンドルではない場合は internalId をそのまま返す if ( location.ResourceType != typeof( IAssetBundleResource ) ) { return internalId;…
概要 var key = "【アドレスかラベル】"; var handle = Addressables.DownloadDependenciesAsync( key, true ); handle.Completed += _ => Debug.Log( "完了" ); Addressables.DownloadDependenciesAsync を使用する 第2引数に true を渡すとアセットバンド…
概要 using System; using System.Diagnostics; using UnityEditor; using UnityEngine; using Debug = UnityEngine.Debug; public static class Tools { [MenuItem( "Tool/Hoge" )] private static void Hoge() { var folderType = Environment.SpecialFold…
ソースコード 使用例 using System; using UnityEngine; public class Character : IDisposable { public void Dispose() { Debug.Log( "ピカチュウ" ); } } public class Example : MonoBehaviour { private void Start() { var character = new Character(…
概要 AddressableAssetSettings.CleanPlayerContent(); BuildCache.PurgeCache( false ); AddressableAssetSettings.CleanPlayerContent を呼ぶだけだと ビルドのキャッシュは完全に消えない BuildCache.PurgeCache を呼ぶと Library/BuildCache フォルダが…