UnityEditor

【Unity】【エディタ拡張】シリアライズ対象の値を直接編集する際の挙動をちゃんと理解する

Unityのエディタ拡張でシリアライズ対象の値を直接編集する際の挙動についてまとめました。 基本はSerializedObjectを使って更新する 直接更新した時の挙動と問題 Dirtyフラグを立てる Undoに対応する 保存まで行う Play Modeの挙動 参考

【Unity】Unity上でテクスチャをノードベースで生成できるOSS「Mixture」の使い方簡単にまとめ

Unity上でテクスチャをノードベースで生成できるOSS「Mixture」の使い方を簡単にまとめました。 Mixture? インストール テクスチャアセットを作る ノードを組み合わせてテクスチャを作る Realtime Mixture 関連 参考

【Unity】【Localization】あらゆる種類のアセットをローカライズできるようにする方法まとめ

UnityのLocalizationパッケージであらゆるアセットをローカライズ対応する方法をまとめます。 はじめに Component Localizerでローカライズできるか確認する Component Localizerでローカライズできるようにする LocalizedAssetEventを継承したクラスを作成…

【Unity】【エディタ】Edit ModeでスクリプトからUnityEventにリスナを登録して永続化する

UnityでEdit ModeでスクリプトからUnityEventにリスナを登録して永続化する方法についてまとめました。 やりたいこと 引数なしのメソッドを登録する 引数ありUnityEventに引数ありのメソッドを登録する 引数なしのUnityEventに引数ありのメソッドと引数を設…

【Unity】【エディタ】アセンブリリロード時に消えない値を保持するSessionStateの使い方まとめ

Unityでアセンブリリロード時に消えない値を保持するSessionStateの使い方をまとめました。 SessionState? 使い方 ホットリロードについて 関連 参考

【Unity】本当は知っておくべきUnityのホットリロードの仕組み

Unityのホットリロードの仕組みについてまとめます。 はじめに ホットリロードの仕組み ランタイムにおけるホットリロードの動作確認 エディタとホットリロードの関係 エディタ拡張におけるホットリロードに関する知識の重要性 関連 参考

【Unity】SerializeReferenceをつけている型をリネーム・削除する時の注意点

UnityでSerializeReferenceをつけている型をリネーム・削除する時の注意点についてまとめます。 はじめに リネームに起こること リネーム時にはMovedFromアトリビュートをつける クラスを削除する場合 いずれこの対応は不要になるかも 関連 参考

【Unity】【エディタ拡張】SerializeReferenceでシリアライズする型の派生型をInspectorから選択できるようにする

Unityのエディタ拡張でSerializeReferenceでシリアライズする型の派生型をInspectorから選択できるようにする方法についてまとめました。 やりたいこと 実装 使ってみる 関連 Unity2020.3.15f2

【Unity】uGUIのTextがはみでた時に「...」を付ける

UnityのuGUIでTextがはみでた時に「...」を付ける方法です。 はじめに 実装 使い方

【Unity】独自拡張子のファイルをScripted ImporterでアセットにしてRiderで拡張子を紐付けて編集するまでの流れ

Unityで独自拡張子のファイルをScripted ImporterでアセットにしてRiderで拡張子を紐付けるまでの流れをまとめました。 やりたいこと 独自拡張子のファイルをアセットとして取り扱う 独自拡張子のファイルをRiderで開けるようにする Riderで独自拡張子とファ…

【Unity】オーバードローを正確に測定できるOSS「UnityOverDrawKun」の紹介

Unityでオーバードローを正確に測定できるOSS「UnityOverDrawKun」の紹介です。 UnityOverDrawKun? 使い方 SceneViewのOverdrawモードとの違いについて URPでも使える? 関連 参考

【Unity】Unity Editorでコルーチンが使える「Editor Coroutines」の使い方まとめ

Unity Editorでコルーチンが使える「Editor Coroutines」の使い方をまとめました。 Editor Coroutines? インストール EditorWindowでコルーチンを使う EditorCoroutineUtilityを直接使う オーナーを持たないEditiorCoroutineUtility.StartCoroutineOwnerless…

【Unity】Profilerで細かい処理時間の計測はCustomSamplerを使うのが手っ取り早い

UnityのProfilerで細かい処理時間の計測はCustomSamplerを使うのが手っ取り早いという話です。 はじめに 重い処理を計測する Deep Profilingする CustomSamplerを使う 関連 参考

【Unity】【エディタ】Missingになっているコンポーネントを取得・削除する

UnityのエディタでMissingになっているコンポーネントを取得・削除する方法についてまとめました。 コンポーネントがMissingとは? 取得・削除する この機能はUnity2019から 関連 参考

【Unity】【エディタ】WindowsとMacでパスを正しく取り扱う

はじめに プラットフォームとディレクトリ区切り文字 プラットフォーム依存問題 UnityのAPIとパス .NETとパス Unityでパスを正しく扱う 関連 参考

【Unity】【エディタ】Preset ManagerでAddコンポーネント時・アセットインポート時のデフォルト値を設定する

UnityのPreset ManagerでAddコンポーネント時・アセットインポート時のデフォルト値を設定する方法についてまとめました。 できることの例 コンポーネントアタッチ時のデフォルト値を設定 アセットインポート時のデフォルト値を設定 ScriptableObject作成時…

【Unity】Unity2021.2の新機能を組み合わせてインポート時間を最速化する

Unity2021.2の新機能を組み合わせてインポート時間を最速化する方法をまとめました。 はじめに インポート時にワーカープロセスを立ち上げる Asset Import Overrideでテクスチャのインポートを高速化する Import Activity Windowでインポート時間を分析する …

【Unity2021.2新機能】各アセットのインポート時間が一覧表示できるImport Activity Window

Unity2021.2新機能である、各アセットのインポート時間が一覧表示できるImport Activity Windowについてまとめます。 はじめに 使い方 重いインポート処理を書いてみる OnPostprocessAllAssetsで書いた処理は計上されないので注意 参考

【Unity2021.2新機能】Asset Import Overrideでテクスチャのインポートを高速化する

Unity2021.2新機能であるAsset Import Overrideでテクスチャのインポートを高速化する方法をまとめます。 Asset Import Override? 使い方 プロジェクトを開く際に有効化する ビルドにも影響するので注意 関連 参考

【Unity】Unity Hubでプロジェクトを開く際のコマンドライン引数を指定する

Unity HubのAdvanced Project Settingsでプロジェクトを開く際のコマンドライン引数を指定する方法です。 2022/02/28追記 Advanced Project Settings 使ってみる 参考

【Unity】【エディタ拡張】TimelineのClipの見た目を拡張する

UnityでTimelineのClipの見た目を拡張する方法についてまとめました。 やりたいこと Clipの見た目を拡張する DrawBackgroundでできないことはClipDrawOptionsで Clipのライフサイクルイベント ソースコード全文 関連

【Unity】【エディタ拡張】複数のカスタムPropertyAttributeを作るとPropertyDrawerが競合する問題とその対応策

Unityで複数のカスタムPropertyAttributeを作るとPropertyDrawerが競合する件とその対応策についてまとめます。 問題点 ソースコード EnabledIfAttributeをMultiPropertyAttributeで実装する NormalizedAnimationCurveAttributeをMultiPropertyAttributeで実…

【Unity】Unity2020.1からProfilerがスタンドアロンで起動可能に、プロファイリング時のノイズが減少

Unity2020.1からProfilerがスタンドアロンで起動可能になり、プロファイリング時のノイズを減らすことができるようになりました。 はじめに 起動方法 参考

【Unity】【エディタ拡張】AnimationCurveを正規化するアトリビュートを作る

Unityのエディタ拡張でAnimationCurveを正規化するアトリビュートを作る方法についてまとめます。 やりたいこと ソースコード 使い方 関連

【Unity】Visual Scripting(旧Bolt)でScript Machineのカスタムユニットを作成する方法まとめ

UnityのVisual Scripting(旧Bolt)でScript Machineのカスタムユニットを作成する方法をまとめました。 はじめに ログ出力を行うユニットを作成する 加算するユニットを作る 1秒後にログ出力する、コルーチン用のユニットを作る ユニットのヘッダで値を設定で…

【Unity】asmdefのVersion Definesを使って特定のPackageがインストールされていたら自動的に処理を変える

特定のPackageがインストールされていたら処理を変えるAssembly Definitionを作る方法です。 はじめに 対象のパッケージをインストールしておく Assembly Definition Fileを作る Define Symbolを定義する Version Definesを設定 設定完了 参考

【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 関連 参考