コガネブログ

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

【Unity】Hierarchy でゲームオブジェクトのアイコンの代わりにコンポーネントのアイコンが表示できる「Hierarchy Window Extensions」紹介

はじめに 「Hierarchy Window Extensions」を Unity プロジェクトに導入することで Hierarchy でゲームオブジェクトのアイコンの代わりに コンポーネントのアイコンが表示できるようになります 導入前 導入後

【Unity】Raycast などを Scene ウィンドウで可視化できる「Raycast Visualization」紹介

はじめに 「Raycast Visualization」を Unity プロジェクトに導入することで Raycast などを Scene ウィンドウで可視化できるようになります 使用例 using Nomnom.RaycastVisualization; using UnityEngine; public class Example : MonoBehaviour { private…

【Unity】フォルダに適用する Preset を簡単に設定できる「Folder Importer Presets」紹介

はじめに 「Folder Importer Presets」を Unity プロジェクトに導入することで フォルダに適用する Preset を簡単に設定できるようになります 使用例 Project ウィンドウで「+ > Nomnom > Folder Importer」を選択して Folder Importer を作成したら Folder …

【Unity】const や static readonly を Inspector のドロップダウンで選択できる「Drop-down with objects of any type in Unity Inspector」紹介

はじめに 「Drop-down with objects of any type in Unity Inspector」を Unity プロジェクトに導入することで const や static readonly を Inspector のドロップダウンで選択できるようになります 使用例 using StructDropDown; using UnityEngine; public…

【Unity】Missing になっているスクリプトの名前がわかるようになる「MissingScriptType」紹介

はじめに 「MissingScriptType」を Unity プロジェクトに導入することで Missing になっているスクリプトの名前がわかるようになります 導入前 導入後 Missing になっているスクリプトの名前は「NewBehaviourScript」だとわかる 注意 パッケージ導入前に Mis…

【Unity】レイヤーやタグ・マテリアル・シェーダ・フィールドなどでゲームオブジェクトを検索できる「Selection Detective」紹介

はじめに 「Selection Detective」を Unity プロジェクトに導入することで レイヤーやタグ・マテリアル・シェーダ・フィールドなどで ゲームオブジェクトを検索できるようになります 使用例 Hierarchy で右クリックして「Selection Detective」を押して Sele…

【Unity】Project ウィンドウでカット & ペーストが可能になる「Project Window Extensions」紹介

はじめに 「Project Window Extensions」を Unity プロジェクトに導入することで Project ウィンドウでカット & ペーストが可能になります 使用例 その他 他にもテキストファイルや JSON ファイルを作成できるようになります

【Unity】指定したコンポーネントがアタッチされているプレハブを検索できる「Vertx.Editors」紹介

はじめに 「Vertx.Editors」を Unity プロジェクトに導入することで 指定したコンポーネントがアタッチされているプレハブを検索できるようになります 使用例 スクリプトの Inspector で「Search for XXXX」を押すと そのコンポーネントがアタッチされている…

【Unity】Scene ウィンドウで重なっているゲームオブジェクトを簡単に選択できる「NSelection」紹介

はじめに 「NSelection」を Unity プロジェクトに導入することで Scene ウィンドウで重なっているゲームオブジェクトを簡単に選択できるようになります 使用例 Scene ウィンドウで Ctrl + 右クリックすると 重なっているゲームオブジェクトを簡単に選択でき…

【Unity】エディタのツールバーやステータスバーを非表示にできるエディタ拡張「Editor-View-Modules」紹介

はじめに 「Editor-View-Modules」を Unity プロジェクトに導入することで エディタのツールバーやステータスバーを非表示にできるようになります 使用例

【Unity】エディタのツールバーに独自のボタンを追加できる「unity-toolbar-buttons」紹介

はじめに 「unity-toolbar-buttons」を Unity プロジェクトに導入することで エディタのツールバーに独自のボタンを追加できるようになります 導入後 デフォルトでツールバーにいくつかのボタンが追加されます シーンを開けるボタンや Project Settings や P…

【Unity】UPM のパッケージを .unitypackage にエクスポートできる「UPM Packages in .unitypackage files」紹介

はじめに 「UPM Packages in .unitypackage files」を Unity プロジェクトに導入することで UPM のパッケージを .unitypackage にエクスポートできるようになります 使用例 UPM のパッケージを選択して Unity メニューの「Assets > Export Package...」を押…

【Unity】Inspector の UnityEvent の表示がコンパクトになり検索もできる「Searchable Event Drawer」紹介

はじめに 「Searchable Event Drawer」を Unity プロジェクトに導入することで Inspector の UnityEvent の表示がコンパクトになり検索もできるようになります 導入前 導入後

【Unity】Inspector の UnityEvent の表示をコンパクトにできる「Compact-Unity-Events」紹介

はじめに 「Compact-Unity-Events」を Unity プロジェクトに導入することで Inspector の UnityEvent の表示をコンパクトにできます 導入前 導入後

【Unity】エディタをボーダーレスにできるエディタ拡張「Borderless-Unity」紹介

はじめに 「Borderless-Unity」を Unity プロジェクトに導入することで エディタをボーダーレスにできようになります 使用例

【Unity】Preset の Excluded Properties を昇順に並べ替えるエディタ拡張

概要 Preset を右クリックして「Exclude all properties」を押すと プロパティが除外設定に登録されるが順番に規則性がないため 除外設定を解除したいプロパティを探すのが大変だった using System.Linq; using UnityEditor; using UnityEditor.Presets; pub…

【Unity】エディタ拡張から Undo / Redo を実行する方法

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Undo" )] private static void RunUndo() { Undo.PerformUndo(); } [MenuItem( "Tools/Redo" )] private static void RunRedo() { Undo.PerformRedo(); } } Undo.PerformUndo() や…

【Unity】Project ウィンドウのフォルダのアイコンを変更できる「SimpleFolderIcon」紹介

はじめに 「SimpleFolderIcon」を Unity プロジェクトに導入することで Project ウィンドウのフォルダのアイコンを変更できるようになります 使用例 SimpleFolderIcon を Unity プロジェクトに導入するだけで いくつかのフォルダのアイコンが自動で変化する…

【Unity】PlayableDirector をリスタートするエディタ拡張

ソースコード using UnityEditor; using UnityEngine.Playables; public static class PlayableDirectorMenuItem { [MenuItem( "CONTEXT/" + nameof( PlayableDirector ) + "/" + nameof( Restart ) )] public static void Restart( MenuCommand command ) {…

【Unity】PlayableDirector の Inspector に Timeline ウィンドウを開くボタンを追加するエディタ拡張

ソースコード using System; using UnityEditor; using UnityEngine; using UnityEngine.Playables; [CustomEditor( typeof( PlayableDirector ) )] public sealed class PlayableDirectorInspector : Editor { private static readonly Type BASE_EDITOR_TY…

【Unity】Animator の Inspector に Animator ウィンドウを開くボタンを追加するエディタ拡張

ソースコード using System; using UnityEditor; using UnityEngine; [CustomEditor( typeof( Animator ) )] public sealed class AnimatorInspector : Editor { private static readonly Type BASE_EDITOR_TYPE = typeof( Editor ) .Assembly .GetType( "Un…

【Unity】Animation の Inspector に Animation ウィンドウを開くボタンを追加するエディタ拡張

ソースコード using System; using UnityEditor; using UnityEngine; [CustomEditor( typeof( Animation ) )] public sealed class AnimationInspector : Editor { private static readonly Type BASE_EDITOR_TYPE = typeof( Editor ) .Assembly .GetType( "…

【Unity】Inspector のヘッダにアセットの GUID を表示するエディタ拡張

ソースコード using UnityEditor; [InitializeOnLoad] public static class InspectorHeaderGUI { static InspectorHeaderGUI() { Editor.finishedDefaultHeaderGUI -= OnGUI; Editor.finishedDefaultHeaderGUI += OnGUI; } private static void OnGUI( Edit…

【Unity】ContentSizeFitter の Inspector に FitMode を変更するボタンを追加するエディタ拡張

ソースコード using System; using UnityEditor; using UnityEditor.UI; using UnityEngine; using UnityEngine.UI; [CustomEditor( typeof( ContentSizeFitter ) )] public sealed class ContentSizeFitterInspector : Editor { private static readonly Ty…

【Unity】Package Manager でインストールしたパッケージを埋め込みパッケージにするエディタ拡張

概要 https://gist.github.com/liortal53/111ee2a659b0d59c80faab0f5d457531?permalink_comment_id=3758173#gistcomment-3758173 上記のページのコメント欄で紹介されているエディタ拡張を Unity プロジェクトに導入すると Project ビューでパッケージを右ク…

【Unity】ParticleSystem の Inspector に Play・Pause などのボタンを追加するエディタ拡張

ソースコード using System; using UnityEditor; using UnityEngine; [CustomEditor( typeof( ParticleSystem ) )] public sealed class ParticleSystemInspector : Editor { private static readonly Type BASE_EDITOR_TYPE = typeof( Editor ) .Assembly .…

【Unity】PlayableDirector の Inspector に Play・Pause などのボタンを追加するエディタ拡張

ソースコード using System; using UnityEditor; using UnityEngine; using UnityEngine.Playables; [CustomEditor( typeof( PlayableDirector ) )] public sealed class PlayableDirectorInspector : Editor { private static readonly Type BASE_EDITOR_TY…

【Unity】Game ビューをフルスクリーンにするエディタ拡張

概要 https://gist.github.com/Chillu1/4c209308dc81104776718b1735c639f7 上記のサイト様で紹介されているエディタ拡張を Unity プロジェクトに追加すると Unity を再生した時に Game ビューがフルスクリーンになります もしくは Unity メニューの「Window …

【Unity】Windows ビルドした時に Steamworks.NET.txt を自動で削除するエディタ拡張

ソースコード using System.IO; using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public sealed class SteamworksNetTxtDeleter : IPostprocessBuildWithReport { public int callbackOrder => 0; public void OnPostproce…

【Unity】Windows IL2CPP ビルドした時に生成される XXXX_BackUpThisFolder_ButDontShipItWithYourGame を自動で削除するエディタ拡張

ソースコード using System.IO; using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public sealed class WindowsIL2CPPBuildBackUpThisFolderDeleter : IPostprocessBuildWithReport { public int callbackOrder => 0; publi…