2020-03-01から1ヶ月間の記事一覧
概要 【Unity プロジェクト】/Library/BuildCache Addressables Goups ウィンドウの 「Build > Clean Build > All」で削除されるのはこのフォルダ
概要 var handle = Addressables.GetDownloadSizeAsync( address ); handle.Completed += _ => Debug.Log( handle.Result ); Addressables.GetDownloadSizeAsync を使用することで ダウンロード対象のアセットバンドルの容量を取得できる ダウンロード対象の…
概要 使用例 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { AddressableUtils.RemoveAllEmptyGroupWithoutDefault(); } }
概要 使用例 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { // グループを名前でソートします AddressableUtils.SortGroups(); // AddressableAssetsWindow の描画を更新します AddressableUti…
概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { var assembly = typeof( EditorApplication ).Assembly; var windowTypeName = "UnityEditor.InspectorWindow"; var wi…
using System.Reflection; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Repaint() { const BindingFlags attr = BindingFlags.Instance | BindingFlags.Public | BindingFlags.Non…
ソースコード using System; using System.Collections.Generic; using System.Linq; public static class IEnumerableExt { public static IEnumerable<TKey> GetDuplication<TKey, TSource> ( this IEnumerable<TSource> self, Func<TSource, TKey> keySelector ) { return self .GroupBy( keySelector )</tsource,></tsource></tkey,></tkey>…
概要 使用例 using NUnit.Framework; using System.Linq; using System.Text; public static class Example { [Test] public static void CheckDuplicateAddress() { var list = AddressableUtils .GetDuplicateAddress() .ToArray() ; var isExist = list.A…
スライド
スライド
概要 using NUnit.Framework; using System.Linq; using System.Text; using UnityEditor; public static class Example { [Test] public static void CheckAssetBundleNames() { var list = AssetDatabase.GetAllAssetBundleNames(); var isExist = list.An…
概要 using NUnit.Framework; using System.Linq; using System.Text; using UnityEditor; public static class Example { [Test] public static void CheckAssetBundleNamedAssets() { var list = AssetDatabase.GetAllAssetPaths() .Select( c => new { as…
概要 使用例 using System.Linq; using UnityEditor; using UnityEditor.AddressableAssets.Settings; using UnityEditor.AddressableAssets.Settings.GroupSchemas; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() {…
概要 var webRequest = UnityWebRequestAssetBundle.GetAssetBundle( url, hash, crc ); ... var header = webRequest.GetResponseHeader( "Content-Length" ); ulong.TryParse( header, out var bytes ); Debug.Log( bytes ); 上記のようなコードを記述する
概要 var webRequest = UnityWebRequestAssetBundle.GetAssetBundle( url, hash, crc ); ... Debug.Log( webRequest.downloadedBytes ); UnityWebRequest.downloadedBytes を参照する
概要 URL 末尾の ?dl=0 を ?dl=1 に変更する 参考サイト様
概要 // ここだとキャッシュが存在する場合 true が返ってくる Debug.Log( Caching.IsVersionCached( url, hash ) ); var webRequest = UnityWebRequestAssetBundle.GetAssetBundle( m_url, m_hash, m_crc ); var requestOperation = webRequest.SendWebRequ…
概要 建物カタログデータの速度が向上しました。 サブオブジェクトの処理に関連するさまざまなマイナーな最適化。 ビルドプロセスのカタログ生成部分にプログレスバーを追加しました。 初期化オブジェクトに非同期初期化APIを提供します。 CacheInitializati…
はじめに Unity プロジェクトを開いていない状態で Assembly-CSharp-firstpass.csproj に含まれているスクリプトが変更されると 次に Unity プロジェクトを開こうとする時に API Update Required が表示される状態だった 解決方法 Assembly-CSharp-firstpass…
概要 Legacy Bundles Detected We have detected the use of legacy bundles in this project. Would you like to auto-convert those into Addressables? This will take each asset bundle you have defined (we have detected X bundles), create an Addr…
概要 ArgumentException: An item with the same key has already been added. Key: 【GUID】 エラーログに出力された GUID からアセットを調べてみたところ、 そのアセットのアドレスが二重に登録されている状態だった 二重に登録されているアドレスをすべ…
概要 下記のことを試していたら生成されるようになった Visual Studio を閉じる Unity メニューの「Edit > Preferences...」を選択する 「External Tools」の「Generate all .csproj files.」をオフにしてからオンにする Project ビューで C# スクリプトをダ…
概要 using UnityEditor; using UnityEditorInternal; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { ProfilerDriver.LoadProfile( "test.data", keepExistingData: true ); } } 現在 Profiler に表示されている…
概要 using UnityEditor; using UnityEditorInternal; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { ProfilerDriver.SaveProfile( "test.data" ); } } 保存したファイルは Profiler の Load から読み込める
概要 using UnityEditor; using UnityEditorInternal; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { ProfilerDriver.deepProfiling = !ProfilerDriver.deepProfiling; } }
ソースコード 使用例 foreach ( var n in AssetDatabaseUtils.FindAssets<Texture>() ) { Debug.Log( n.name ); }</texture>
ソースコード 使用例 Debug.Log( AssetDatabaseUtils.FindAsset<Texture>().name );</texture>
概要 public sealed class Example : IAssetBundleResource { public void Setup( ProvideHandle handle ) { var options = handle.Location.Data as AssetBundleRequestOptions; // ハッシュ値 Debug.Log( options.Hash ); // CRC 値 Debug.Log( options.Cr…
概要 使用例 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var group = AddressableUtils.GetOrCreateGroup( "【グループ名】" ); var bundledAssetGroupSchema = group.Schemas .OfType<BundledAssetGroupSchema>() .</bundledassetgroupschema>…
概要 使用例 public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var group = AddressableUtils.GetOrCreateGroup( "【グループ名】" ); var bundledAssetGroupSchema = group.Schemas .OfType<BundledAssetGroupSchema>() .FirstOrDefault() ; </bundledassetgroupschema>…