Unity

【Unity】エディタでデータを保存する場所と保存方法まとめ

Unityのエディタでデータを保存する場所と保存方法についてまとめました。 保存する場所の分類 Assetsフォルダ Preferenceフォルダ Projectフォルダ Libraryなど共有しないフォルダ 保存・読み込み方法まとめ AssetDatabase FileIO EditorPrefs SettingsProv…

【Unity】【エディタ】EditorUserSettingsでユーザ毎のエディタ設定を管理する

UnityのEditorUserSettingsでユーザ毎のエディタ設定を管理する方法です。 EditorUserSettings? 使用例

【Unity】PlayerSettingのPreloadedAssetsでメモリに常駐するファイルをシンプルに管理する

UnityのPreloadedAssetsでメモリに常駐するファイルをシンプルに管理する方法です。 PreloadedAssets? PreloadedAssetsの使い方 使用例 参考

【Unity】【エディタ】アセットが作成・削除・移動・保存される「前」のタイミングをフックするAssetModificationProcessor

Unityでアセットが作成・削除・移動・保存される前のタイミングをフックする方法です。 AssetModificationProcessor 作成・削除・移動の後処理を記述するにはAssetPostprocessor 関連 参考

【Unity】【xLua】LuaとUnityのコルーチンの連携方法まとめ

xLuaとUnityでコルーチンを連携する方法についてまとめました。 はじめに コルーチンを使う コルーチンを入れ子にする コルーチンを待ち合わせる Luaの関数をIEnumerator型としてC#から取得する 関連

【Unity】【エディタ】EditorBuildSettingsのConfigObjectでプロジェクト毎のエディタ設定を保存する

UnityでConfigObjectでプロジェクト毎のエディタ設定を保存する方法です。 ConfigObject? ConfigObjectの使い方 保存場所と共有範囲について 使用例 参考

【Unity】Unity Test Runner(Test Framework)で複数の入力値を取り扱う方法まとめ

Unity Test Runnerで複数の入力値を取り扱う方法をまとめました。 複数の入力値を取り扱う? Values 複数の定数値を指定 Valuesを複数指定 Enumの全要素についてテスト boolについてテスト ValueSource フィールド・プロパティ・メソッドを指定できる 他のク…

【Unity】Unity非対応の拡張子のファイルをアセットとして取り扱えるScripted Importerの使い方

Unity非対応の拡張子のファイルをアセットとして取り扱えるScripted Importerの使い方をまとめました。 Scripted Importerとは 簡単なサンプル(公式サンプル) サブアセットを差し替えるためのリマップ機能 他のアセットが変更されたら自身をリインポートす…

【Unity】GUI.DrawTexture()でいろんな図形を描画する

UnityのIMGUIのGUI.DrawTexture()で色々描いてみます。 はじめに 矩形を描画 角丸の矩形を描画 中抜きの矩形を描画 中抜きの角丸矩形を描画 ボーダー付きの矩形を描画 ボーダー付きの角丸矩形を描画 ボーダーの太さを辺によって変える 丸みを角によって変え…

【Unity】【Addressable】DiagnosticCallbackで参照カウントなどを取得する

AddressableアセットシステムのDiagnosticCallbackで参照カウントやAsyncOperationのイベントを取得する方法です。 やりたいこと 準備 参照カウントを取得する 取得できるイベントの種類 関連

【Unity】Profilerで処理落ちの原因がメインスレッドなのかレンダースレッドなのかGPUなのか切り分ける手順

UnityのProfilerで処理落ちの原因がメインスレッドなのかレンダースレッドなのかGPUなのか切り分ける手順についてまとめます。 パフォーマンスチューニングの一番最初にやるべきこと メインスレッド vs レンダースレッド・GPU レンダースレッド vs GPU 関連 …

【Unity】xLuaの基本的な使い方まとめ

xLuaの基本的な使い方についてまとめました。 xLua? インストール xLuaスクリプトを実行する スクリプトの読み込み方法いろいろ 文字列を読み込む Resourcesフォルダからファイルを読み込む ファイルの読み込み方法をカスタムする 推奨される実行方法 C#から…

【Unity】Lerpを用いたスムージングの問題点とMathf.SmoothDampによる解決策

UnityでLerpを用いてスムージングする際の問題点とMathf.SmoothDampによる解決策についてまとめました。 Lerpでスムージング Lerpによるスムージングの問題点 SmoothDampを使う パラメータを変える Lerpとの比較 SmoothDamp系メソッド SmoothDampって何者な…

【Unity】Unityでマルチスレッド処理する方法が多すぎてわけわかんないのでまとめた

Unityでマルチスレッド処理する方法が多すぎて混乱したのでざっくりまとめました。 C#におけるマルチスレッドの基本:Task 簡単な同期的並列処理ならParallelで Linqの処理をマルチスレッドで行うAsParallel UniTaskでもマルチスレッド処理できる UniRxでも…

【Unity】globパターンを使ってアセットを検索する(Unity2020からの新機能)

Unityでglobパターンを使ってアセットを検索する方法についてまとめました。 globパターンでアセット検索ができるように globaパターンの書き方 参考

【Unity】プロジェクト内の色を一元管理&一括変更する「uPalette」を公開しました

Unityプロジェクト内の色を一元管理&一括変更する「uPalette」を公開しました。 github.com 概要 特徴 セットアップ バージョン要件 インストール ライセンス 使い方 色を作成する 色を反映する 色を適用しているGameObjectをハイライトする 独自のコンポー…

【Unity】色のプリセットを保存・共有するSwatchライブラリの使い方まとめ

UnityでSwatchライブラリを使って色のプリセットを保存したり共有したりする方法です。 知ってる人には基礎的なことですが、意外と情報少ない&気づきづらい機能なのでまとめておきます。 色を登録する・呼び出す 色に名前を付ける 色のセット(ライブラリ)…

【Unity】PerformanceBenchmarkReporterを使ってPerformance Testing Extensionによるパフォーマンス測定結果を可視化する

UnityでPerformanceBenchmarkReporterを使ってPerformance Testing Extensionによるパフォーマンス測定結果を可視化する方法をまとめました。 はじめに ダウンロード 実行する 結果を見る 関連 参考

【Unity】Test Runnerでパフォーマンステストを行うPerformance Testing Extensionの使い方まとめ

UnityのTest Runnerでパフォーマンステストを行うPerformance Testing Extensionの使い方についてまとめました。 はじめに セットアップ メソッドのパフォーマンスを計測する 計測結果を見る プロファイラのマーカーを指定して特定の処理のパフォーマンスを…

【Unity】UniTaskのキャンセル処理まとめ・Taskとの比較

UniTaskのキャンセル処理についてまとめました。 非同期メソッドのキャンセル方法 Taskの場合 UniTaskの場合 UnityのAsyncOperation系 GameObjectのライフサイクルに紐づいたCancellationToken キャンセルのハンドリング方法 基本的にはtry-catch SuppressCa…

【Unity】【エディタ】TypeCacheを使って指定したアトリビュートが付いている型を高速に取得する

UnityのTypeCacheを使って指定したアトリビュートが付いている型を高速に取得する方法をまとめました。 TypeCache? 各APIとUnityバージョン ランタイムの可能性 参考

【Unity】NatCorderで動画をオフラインレコーディングする

UnityのアセットであるNatCorderで動画をオフラインレコーディングする方法についてまとめました。 NatCorder? 映像だけオフラインレコーディングする 音声だけオフラインレコーディングする 動画と音声をオフラインレコーディングする AudioClipのデータを…

【Unity】Unityエディタ上でスマホ実機がシミュレーションできるDevice Simulatorの使い方まとめ

Unityエディタ上でスマホ実機がシミュレーションできるDevice Simulatorの使い方をまとめました。 Device Simulator? インストール 基本操作 カスタムアセンブリに設定を反映する カスタムデバイスを追加する 参考

【Unity】UniTaskの例外処理まとめ

UniTaskの例外処理についてまとめました。 非同期タスクを待機する場合 非同期タスクを待機しないと未処理例外として処理される 未処理例外のログ出力タイプを変える 未処理例外のハンドリング処理を書き換える 関連

【Unity】【C#】Taskの未処理例外をUnobservedTaskExceptionで処理してログ出力する

UnityでTaskの未処理例外をUnobservedTaskExceptionで処理する方法をまとめました。

【Unity】Addressableアセットシステムで同期ロードが公式サポート、Resources.Loadを置き換え可能に

UnityのAddressableアセットシステムで同期ロードが公式にサポートされたので、その使い方とResources.Loadを置き換える方法についてまとめました。 Addressablesと同期ロード 今までは非同期なロード方法しかなかった 同期ロードが公式サポートされた 同期…

【Unity】ビルドの前後に処理を挟み込む方法

Unityでビルドの前後に処理を挟み込む方法についてまとめました。 ビルド前後の処理を行う ビルドボタンを押したときの処理を行う 参考

【Unity】【UniTask】 UniTaskをエディタ(Edit Mode)で使うときに気を付けること

UniTaskをEdit Modeで使うときに気を付けることについてまとめました。 UniTask.DelayにはDelayType.Realtimeを 追記: 最新バージョンは自動的にRealtimeに Taskでもいい UniTask.DelayFrameは使わない PlayerLoopTimingはEditorApplication.updateになる 参…

【Unity】uGUIをTimelineで制御できる「Unity UI Playables」を公開しました

UnityのuGUIをTimelineで制御できる「Unity UI Playables」を公開しました。 github.com 概要 Unity UI(uGUI)をタイムラインで制御可能 イージング、アニメーションカーブに対応 ブレンド可能 使い方 インストール トラックとクリップを作成 制御できるパラ…

【Unity】Scriptable Build Pipelineで同じアセットバンドルに含まれるアセット一覧を取得する

UnityのScriptable Build Pipelineであるアセットと同じアセットバンドルに含まれるアセット一覧を取得する方法をまとめました。 はじめに 実装する 実行する 関連