2022-01-01から1ヶ月間の記事一覧
概要 protected override async void Execute() { Exception exception = null; var result = await System.Threading.Tasks.Task.Run ( () => { try { var catalogs = new List<IResourceLocator>( m_DepOp.Result.Count ); for ( int i = 0; i < m_DepOp.Result.Count; i++ )</iresourcelocator>…
概要 Unity プロジェクトの起動が完了しない現象に遭遇した WorkerState(Connecting), ImporterState(Initializing) worker timed out connecting with editor Editor.log を見たところ上記のログが連続で出力されていた 一度、Project Settings で「Paralle…
概要 using System; using UnityEngine; using UnityEngine.InputSystem; public class Example : MonoBehaviour { private void Awake() { InputSystem.onDeviceChange += ( device, change ) => { Debug.Log( $"[onDeviceChange] {device}, {change}" ); s…
概要 using UnityEngine; [Icon( "Assets/Icons/animal_inu.png" )] public class Example : MonoBehaviour { } Unity 2021.2 から IconAttribute を使うことで MonoBehaviour や ScriptableObject に簡単にアイコンを設定できるようになった
通常 using UnityEngine; public class Example : MonoBehaviour { public Object m_target; } SearchContext using UnityEngine; using UnityEngine.Search; public class Example : MonoBehaviour { [SearchContext( "" )] public Object m_target; } Sear…
ソースコード using System; using Unity.Profiling; using UnityEngine; public sealed class CheckGCAllocScope : IDisposable { #if ENABLE_RELEASE public void Dispose() { } public static CheckGCAllocScope Create( string name ) { return default;…
はじめに TextMesh Pro の Font Asset Creator の Packing Method を Fast にした場合と Optimize にした場合でどのくらい時間に差が出るか検証 Font Asset 生成時の各種設定は上記の通り 検証に使用されていただいたフォントは上記サイト様で紹介されている…
検証内容 「ラノベPOPフォント」で日本語を含む TextMesh Pro のフォントを作成する場合、 Sampling Point Size を「Auto Sizing」にした場合と「Custom Size」にした場合で Font の Generate が完了するまでにどのくらい時間の差が出るか検証 検証環境 Wind…
概要 using UnityEditor; using UnityEngine; public sealed class Example : EditorWindow { private string m_text; [MenuItem( "Tools/Open" )] private static void Open() { GetWindow<Example>(); } private void OnGUI() { var style = new GUIStyle( EditorSt</example>…
概要 Steamworks.NET の SteamManager を使用している場合は SteamManager クラスの Awake 関数内で SteamAPI.RestartAppIfNecessary を呼び出している箇所で if (SteamAPI.RestartAppIfNecessary((AppId_t)1234567890)) { 適切な App ID を渡します これで…
はじめに .exe を右クリックして「プロパティ > 詳細」を選択した時に表示される情報を 変更する方法を紹介していきます 目次 はじめに 目次 GoRC.exe の入手 Resource Hacker の入手 resources.rc の作成 resources.res の作成 script.txt の作成 .exe のプ…
概要 The character used for Underline is not available in font asset [XXXX]. TextMesh Pro のフォントに必要な文字をすべて登録しているはずなのに TextMesh Pro を表示する時に上記の警告が出る場合は ()_ 上記の文字をフォントに登録すると警告が消え…
検証内容 100 個の string 型のフィールドを持つ 1 億個の クラスのインスタンスを引数に渡す場合 構造体のインスタンスを引数に渡す場合 構造体のインスタンスを参照引数(ref)に渡す場合 構造体のインスタンスを入力参照引数(in)に渡す場合 の速度を比…
概要 Unity プロジェクトに Input System パッケージをインストールして Project Settings の「Input System Package」のページで 「Supported Devices」に「Accelerometer」を追加して using TMPro; using UnityEngine; using UnityEngine.InputSystem; pub…
概要 https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/ https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/ https://www.nuget.org/packages/System.Text.Encodings.Web https://www.nuget.org/packages/System.Text.J…
検証内容 アセットバンドルが約 3,700 個存在する Unity プロジェクトで検証 検証環境 Windows 10 Unity 2020.3.25f1 クリーンビルドした場合 項目 アセットバンドルのビルドにかかった時間 通常 16分24秒 並列ビルド(スレーブ 2 個) 12分39秒 並列ビルド…
概要 Unable to add the requested character to font asset [XXXX]'s atlas texture. Please make the texture [XXXX] readable. TextMesh Pro でダイナミックフォントを使用している時に上記の警告が出る場合は Project ウィンドウでダイナミックフォント…
概要 AssetBundleBrowser: Bundle name 'XXXX' contains a period. Internally Unity keeps 'bundleName' and 'variantName' separate, but externally treat them as 'bundleName.variantName'. If a bundleName contains a period, the build will (probab…
概要 Unity 2021.2 から LINQ で ToHashSet・SkipLast・TakeLast が標準で使えるようになった (もしかしたら Unity 2021.1 から使えるかも?) using System.Linq; using UnityEngine; public class Example : MonoBehaviour { private void Start() { var …
概要 Unity 2021.2 から Dictionary の 3 つの拡張メソッドが標準で使えるようになった (もしかしたら Unity 2021.1 から使えるかも?) GetValueOrDefault Remove TryAdd using System.Collections.Generic; using UnityEngine; public class Example : Mo…
検証内容 たとえば StreamingAssets フォルダに 大量のアセットを格納すると インポートに長い時間がかかってしまいます ゲームをビルドする時にアセットバンドルを StreamingAssets にコピーしてからビルドする場合、 ゲームのビルドのたびに長いインポート…
ソースコード /// <summary> /// 指定されたアドレスに紐づくアセットが存在する場合 true を返します /// </summary> public static async Task<bool> Exists( object key ) { var handle = Addressables.LoadResourceLocationsAsync( key ); await handle.Task; return handle.Statu</bool>…
ソースコード using System.Linq; using System.Threading.Tasks; using UnityEngine; using UnityEngine.AddressableAssets; public class Example : MonoBehaviour { // ローカルカタログの読み込みに失敗した場合、 // 以下のようなエラーや例外が発生す…
ソースコード using System.Linq; using System.Threading.Tasks; using UnityEngine; using UnityEngine.AddressableAssets; public class Example : MonoBehaviour { // リモートカタログのダウンロードの通信に失敗した場合、 // 以下のようなエラーや例…
ソースコード using System.Linq; using System.Threading.Tasks; using UnityEngine; using UnityEngine.AddressableAssets; public class Example : MonoBehaviour { // リモートカタログのダウンロード時にディスクの空き容量が不足している場合 // 以下…
ソースコード using System.Linq; using System.Threading.Tasks; using UnityEngine; using UnityEngine.AddressableAssets; public class Example : MonoBehaviour { // リモートカタログのファイルが破損している場合、 // 以下のようなエラーや例外が発…
概要 Unity 2021.2 の Build Settings で設定できる Asset Import Overrides を Unity プロジェクトを開く時のコマンドライン引数で指定したい場合は Unity Hub でプロジェクトの行の右端の三点リーダを押して 「コマンドライン引数を加える」を選択して -ov…
検証内容 テクスチャと 3D モデルが合計約 4,000 個存在する Unity プロジェクトで検証 Library フォルダを削除した状態でプロジェクトを開くのにかかる時間を計測 Android、iOS、Windows のプラットフォームごとでインポート時間に差が出るか検証 並列イン…
検証内容 テクスチャと 3D モデルが合計約 4,000 個存在する Unity プロジェクトで検証 Library フォルダを削除した状態でプロジェクトを開くのにかかる時間を計測 古いバージョンからアップデートした後に ForceReserializeAssets を実行した場合と しなか…
検証内容 テクスチャと 3D モデルが合計約 4,000 個存在する Unity プロジェクトで検証 Library フォルダを削除した状態でプロジェクトを開くのにかかる時間を計測 Unity Accelerator を使う場合と使わない場合でかかった時間を比較 並列インポートの設定は…