コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

2022-01-01から1ヶ月間の記事一覧

【Unity】Profiler がキャプチャするフレームの最大数を設定する方法

概要 Unity の Preferences を開いて左メニューで「Analysis > Profiler」を選択して 「Frame Count」を変更することで Profiler がキャプチャするフレームの最大数を設定できる

【Rider】インテリセンスで Enter と Tab を押した場合の違い

概要 たとえば characterId を characterGroupId に変更するために Ctrl + Space を押してインテリセンスを開いて characterGroupId を選択して Enter を押すと、 名前が挿入されてしまい characterGroupIdId になってしまう Tab を押すと名前の置換になるの…

【Rider】デフォルト引数がある関数のインテリセンスで Enter と Tab を押した場合の違い

概要 Enter を押すと引数の括弧が開いた状態になる Tab を押すと引数の括弧が閉じた状態になる デフォルト引数を指定する必要がなければ Tab を押せば括弧を閉じる手間が発生しなくて済む

【Rider】複数ファイル内検索でコメントや文字列を無視する方法

概要 複数ファイル内検索で赤枠のアイコンを押して コメント以外 文字リテラル以外 コメントと文字リテラル以外 のいずれかを選択するとコメントや文字列を無視できます

【Unity】TextMeshPro の FontAsset をスクリプトから更新するエディタ拡張「Kogane TMP_FontAsset Updater」を GitHub に公開しました

リポジトリ 開発環境 Windows 10 Unity 2021.2.7f1 TextMeshPro 3.0.6 基本的な使い方 using Kogane.TMP_FontAssetUpdater; using TMPro; using UnityEditor; using UnityEngine; using UnityEngine.TextCore.LowLevel; public static class Example { [Menu…

【Unity】複数の小さなテキストファイルの書き込みを foreach と Parallel.ForEach で実行した場合の速度検証

検証内容 10,000 回 File.WriteAllText を実行する処理を foreach で書いた場合と Parallel.ForEach で書いた場合の速度を検証 検証環境 Unity 2021.2.7f1 Windows IL2CPP ビルド Android IL2CPP ビルド 検証結果(Unity エディタ) 項目 かかった時間 forea…

【Unity】複数の小さなテキストファイルの書き込みを for と Parallel.For で実行した場合の速度検証

検証内容 10,000 回 File.WriteAllText を実行する処理を for で書いた場合と Parallel.For で書いた場合の速度を検証 検証環境 Unity 2021.2.7f1 Windows IL2CPP ビルド Android IL2CPP ビルド 検証結果(Unity エディタ) 項目 かかった時間 for 2.83 秒 P…

【Unity】複数の大きなテキストファイルの書き込みを foreach と Parallel.ForEach で実行した場合の速度検証

検証内容 約 100 MB の文字列を 100 回 File.WriteAllText する処理を foreach で書いた場合と Parallel.ForEach で書いた場合の速度を検証 検証環境 Unity 2021.2.7f1 Windows IL2CPP ビルド Android IL2CPP ビルド 検証結果(Unity エディタ) 項目 かかっ…

【Unity】複数の大きなテキストファイルの書き込みを for と Parallel.For で実行した場合の速度検証

検証内容 約 100 MB の文字列を 100 回 File.WriteAllText する処理を for で書いた場合と Parallel.For で書いた場合の速度を検証 検証環境 Unity 2021.2.7f1 Windows IL2CPP ビルド Android IL2CPP ビルド 検証結果(Unity エディタ) 項目 かかった時間 f…

【C#】各 LINQ ライブラリのベンチマークを確認できる「LinqBenchmarks」紹介

はじめに 上記のリポジトリで各 LINQ ライブラリのベンチマークを確認できます

【Unity】アセットバンドルビルドで manifest のみを作成する方法

概要 using System.IO; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Build Asset Bundles" )] private static void BuildAssetBundles() { var outputPath = "AssetBundles"; Directory.CreateDirectory( outpu…

【Unity】アセットバンドルビルド時に致命的なエラーが発生したらビルドを止める方法

概要 BuildPipeline.BuildAssetBundles ( outputPath: outputPath, builds: builds, assetBundleOptions: BuildAssetBundleOptions.StrictMode, targetPlatform: BuildTarget.StandaloneWindows ); assetBundleOptions に BuildAssetBundleOptions.StrictMod…

【Unity】アセットバンドル名を設定せずにアセットバンドルをビルドする方法

概要 using System.IO; using UnityEditor; public static class Example { [MenuItem( "Tools/Build Asset Bundles" )] private static void BuildAssetBundles() { var outputPath = "AssetBundles"; Directory.CreateDirectory( outputPath ); var materi…

【Unity】ビルドしたアセットバンドルのヘッダに Unity のバージョン情報を含めないようにする方法

概要 BuildPipeline.BuildAssetBundles ( outputPath: outputPath, builds: builds, assetBundleOptions: BuildAssetBundleOptions.AssetBundleStripUnityVersion, targetPlatform: BuildTarget.StandaloneWindows ); assetBundleOptions に BuildAssetBundl…

【C#】ゼロアロケーションの LINQ を使用できる「StructLinq」紹介

はじめに 「StructLinq」を Unity プロジェクトに導入することで ゼロアロケーションの LINQ を使用できるようになります 検証環境 Unity 2021.2.7f1 Windows IL2CPP ビルド 検証結果 using System; using System.Linq; using StructLinq; using UnityEngine…

【Rider】タブをアルファベット順で並べる方法

概要 Rider の設定の「エディター > 一般 > エディタータブ」の 「タブをアルファベット順で並べ替える」をオンにする

【Rider】タブの閉じるボタンを非表示にする方法

概要 Rider の設定の「エディター > 一般 > エディタータブ」の 「閉じるボタンの位置」を「なし」にするとタブの閉じるボタンを非表示にできる

【Rider】アップデートの確認を無効化する方法

概要 Rider の設定の「外観 & 振る舞い > システム設定 > アップデート」の 「IDE のアップデートを確認」をオフにする

【Rider】Explorer ウィンドウでファイルをドラッグできないようにする方法

概要 Rider の設定の「外観 & 振る舞い > 外観」の 「Alt が押されたときのみドラッグアンドドロップを有効にする」をオンにすると Explorer ウィンドウでファイルをドラッグできないようになるので 誤ってファイルの場所を移動してしまう誤操作を防げる Alt…

【Unity】計測した処理時間を Chrome でプロファイリングできるようにするパッケージ「Kogane Complete Events Tracer」を GitHub に公開しました

リポジトリ 使用例 using System.IO; using System.Threading.Tasks; using Kogane.CompleteEventsTracer; using UnityEngine; public sealed class Example : MonoBehaviour { private async void Start() { Debug.Log( "開始" ); var tracer = new Complet…

【Unity】古い Unity Hub(2.4.5)をインストールする方法

概要 https://github.com/baba-s/Unity-Hub-2.4.5 古い Unity Hub が公式サイトからダウンロードできないようなので 古いバージョンに戻せるように 2.4.5 のインストーラを GitHub のリポジトリにアップしました

【Unity】Unity Hub のキャッシュが約 8 GB ほど溜まっていたので削除した

概要 WizTree でディスクの使用容量を調べていたところ、 C:\Users\【ユーザー名】\AppData\Local\Temp 上記のフォルダに Unity Hub のキャッシュが保存されており合計で約 8 GB ほど溜まっていたので削除した

【Android】USBデバッグをオンにしても自動でオフになってしまう場合

概要 「開発者向けオプション」の中にある 「充電専用モードでADBデバッグを許可する」をオンにしてから 「USBデバッグ」をオンにしたらオフにならなくなった 参考サイト様

【Visual Studio】Visual Studio 2022 で表示される「Tab 同意するには」を無効化する方法

概要 Visual Studio 2022 で表示される「Tab 同意するには」を無効化したい場合は メニューの「拡張機能 > 拡張機能の管理」を押して 「インストール済み」を押して「Visual Studio IntelliCode」の「無効化」を押してから Visual Studio 2022 を再起動する …

【Unity】Attribute を指定するだけでプロパティや関数の呼び出し時にログ出力できる「Cecil Attributes」紹介

はじめに 「Cecil Attributes」を Unity プロジェクトに導入することで Attribute を指定するだけでプロパティや関数の呼び出し時にログ出力できるようになります ResetStaticAttribute // デフォルトでは Subsystem Registration のタイミングで // default…

【Unity】Package Name has not been set up correctly

概要 UnityException: Package Name has not been set up correctly Please set the Package Name in the Player Settings. The value must follow the convention 'com.YourCompanyName.YourProductName' and can contain alphanumeric characters and unde…

【Unity】TargetException: Non-static field requires a target

概要 TargetException: Non-static field requires a target System.Reflection.RuntimeFieldInfo.SetValue (System.Object obj, System.Object val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.Cu…

【Unity】Unable to find player assembly: XXXX\Temp\StagingArea\Data\Managed\UnityEngine.TestRunner.dll

概要 Unable to find player assembly: XXXX\Temp\StagingArea\Data\Managed\UnityEngine.TestRunner.dll UnityEngine.Debug:LogWarning (object) Unity.Burst.Editor.BurstAotCompiler:OnPostBuildPlayerScriptDLLsImpl (UnityEditor.Build.Reporting.Build…

【Unity】You are making an Android IL2CPP build, but it does not have native 64-bit support.

概要 You are making an Android IL2CPP build, but it does not have native 64-bit support. It is recommended to enable ARM64 in Player Settings: Target Architecture in to natively support 64-bit devices. Android で IL2CPP ビルドした時に上記…

【Unity】Addressable Asset System に関する記事まとめ(140 件以上)

はじめに 当ブログで紹介してきた Addressable Asset System に関する記事を 140 件以上まとめました 注意 古いバージョン(1.6.2 など)のころに書いた記事も混ざっているため 最新のバージョンだと既に動かないプログラムが紹介されていたりする可能性があ…