コガネブログ

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

【Unity】エディタ拡張において Hierarchy に存在するすべてのシーンの情報を取得できる「EditorSceneManager.GetSceneManagerSetup」

概要 例えば Hierarchy にこのようにシーンが存在する場合に using System.Text; using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var …

【Unity】Unity プロジェクトに含まれているすべてのシーンファイルのパスを取得するエディタ拡張のサンプル

方法1 using System.Linq; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var list = AssetDatabase .FindAssets( "t:scene" ) .Select( AssetDatabase.GUIDToAssetPath )…

【Unity】便利なエディタ拡張がたくさん使用できる「MyBox」紹介

はじめに 「MyBox」を Unity プロジェクトに導入することで 便利なエディタ拡張がたくさん使用できるようになります 使用例 ConditionalField using UnityEngine; public class Example : MonoBehaviour { public bool m_enabled; [ConditionalField( "m_ena…

【Unity】Shift + Alt + C で Editor.log を開くエディタ拡張

ソースコード

【Unity】Scene ビューの左上にズーム率を表示できるエディタ拡張「SceneViewUIOverlay」紹介

概要 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに導入することで Scene ビューの左上にズーム率を表示できようになります ズーム率をクリックすると 100% にリセットされます 参考ツイート Using #unity3d to develop 2D content or UI? H…

【Unity】アセットをお気に入りとして管理できる「bookmark-everything」紹介

はじめに 「bookmark-everything」を Unity プロジェクトに導入することで アセットをお気に入りとして管理できるようになります 使い方 Unity メニューの「Window>Bookmark Everything」を選択して 表示されたウィンドウにアセットをドラッグすることで ア…

【Unity】iOS ビルド後に Xcode プロジェクトの「Debug Information Format」に「DWARF」を設定するエディタ拡張

概要 「Debug」以外の項目にも「DWARF」を設定したい場合は 19行目の "Debug" の部分を "Release" や "ReleaseForProfiling" 、 "ReleaseForRunning" などに変更します 「DWARF with dSYM File」を設定したい場合は 21行目の "dwarf" の部分を "dwarf-with-d…

【Unity】iOS ビルド後に Xcode プロジェクトの「Enable Bitcode」をオフにするエディタ拡張

概要 参考サイト様

【Unity】指定したフォルダに含まれているすべてのファイルの依存関係も含めたハッシュ値を計算できるスクリプト

ソースコード(引用) 使用例 指定したフォルダに含まれているいずれかのファイルか、 それらのファイルが依存しているファイルが変更された場合に 違うハッシュ値が取得できるため、ファイルに変更があったかどうかの検知に使用できます 参考サイト様

【Unity】指定したコンポーネントがアタッチされたプレハブを検索できるエディタ拡張「FindObjects」紹介

はじめに 「FindObjects」を Unity プロジェクトに導入することで 指定したコンポーネントがアタッチされたプレハブを検索できるようになります 使い方 Unity メニューの「GameObject>Find...」を選択して 表示されたウィンドウの「Search For」に検索したい…

【Unity】指定したアセットに依存するすべてのアセットを取得できる「EditorUtility.CollectDependencies」

概要 EditorUtility.CollectDependencies を使用することで 指定したアセットに依存するすべてのアセットを配列で取得できます 例えば上記のような 3D モデルのプレハブに対して using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" …

【Unity】Lighting ウィンドウの Baked Global Illumination のオン・オフをエディタ拡張で変更する方法

概要 using UnityEditor; using UnityEditor.SceneManagement; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { Lightmapping.bakedGI = !Lightmapping.bakedGI; // GI の設定はシーンに依存するので変更を保存する…

【Unity】Lighting ウィンドウの Realtime Global Illumination のオン・オフをエディタ拡張で変更する方法

概要 using UnityEditor; using UnityEditor.SceneManagement; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { Lightmapping.realtimeGI = !Lightmapping.realtimeGI; // GI の設定はシーンに依存するので変更を保…

【Unity】指定したコンポーネントがアタッチされたプレハブを検索できるエディタ拡張「SearchForComponents.cs」紹介

はじめに https://forum.unity.com/threads/editor-want-to-check-all-prefabs-in-a-project-for-an-attached-monobehaviour.253149/ 「SearchForComponents.cs」を Unity プロジェクトに導入することで 指定したコンポーネントがアタッチされたプレハブを検…

【Unity】Hierarchy の検索文字列や Project ビューのアセットをお気に入りとして管理できる「Unity-AssetBookmarker」紹介

はじめに 「Unity-AssetBookmarker」を Unity プロジェクトに導入することで Hierarchy の検索文字列や Project ビューのアセットを お気に入りとして管理できるようになります 使い方 Project ビューのアセットを右クリックして「Add to bookmark list」を…

【Unity】変更していない SpriteAtlas が Git で変更状態になる現象を防ぐエディタ拡張

概要 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加することで 変更していない SpriteAtlas が Git で変更状態になる現象を 防ぐことができるようになります 補足 自分の環境だと SpriteAtlas が SourceTree で 「このファイルは、変更…

【Unity】一定時間ごとにシーンのバックアップを作成できる「AutoSaveScene」紹介

はじめに 「AutoSaveScene」を Unity プロジェクトに導入することで 一定時間ごとにシーンのバックアップを作成できるようになります 使い方 「AutoSaveScene」を Unity プロジェクトに導入すると 5分ごとにシーンのバックアップが作成されるようになります …

【Unity】属性を適用すると自動で GetComponent できる「Unity GetComponent Auto Injector」紹介

はじめに 「Unity GetComponent Auto Injector」を Unity プロジェクトに導入することで 属性を適用すると自動で GetComponent できるようになります 使い方 using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { …

【Unity】iPhone X / XS のセーフエリアに対応できるアセットまとめ

一覧

【Unity】Unity プロジェクトを開いた時に Unity エディタをミュートにするエディタ拡張

概要 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加すると Unity プロジェクトを開いた時に Game ビューの Mute Audio が自動でオンになります

【Unity】ビルド時間を計測してログ出力するエディタ拡張

概要

【Unity】指定したスクリプトが使用されているプレハブを検索できる「ScriptFinder」紹介

はじめに 「ScriptFinder」を Unity プロジェクトに導入することで 指定したスクリプトが使用されているプレハブを検索できるようになります 使い方 Unity メニューの「Tools>ScriptFinder」を選択して 表示されたウィンドウの「Select Target Script」の欄…

【Unity】開いたシーンの履歴を管理できる「SceneHistory-Unity」紹介

はじめに 「SceneHistory-Unity」を Unity プロジェクトに導入することで 開いたシーンの履歴を管理できるようになります 使い方 Unity メニューの「Window>SceneHistory」を選択すると 開いたシーンの履歴を管理できるようになります SceneHistory ウィンド…

【Unity】Project ビューにアセットの拡張子を表示できる「Unity File Extensions」紹介

はじめに 「Unity File Extensions」を Unity プロジェクトに導入することで Project ビューにアセットの拡張子を表示できるようになります 使用例 適用前 適用後

【Unity】EditorWindow の中に複数のウィンドウを表示できる「USubWindow」紹介

はじめに 「USubWindow」を Unity プロジェクトに導入することで EditorWindow の中に複数のウィンドウを表示できるようになります 使用例 using UnityEditor; using UnityEngine; public class Example : MDIEditorWindow { [MenuItem( "Example/Hoge" )] p…

【Unity】F3 で Project ビューの開いている階層をすべて閉じることができるエディタ拡張

概要 Alt を押しながら階層を閉じたときと同じ挙動を F3 で実行できます 参考サイト様

【Unity】F4 で Hierarchy ビューの開いている階層をすべて閉じることができるエディタ拡張

概要 Alt を押しながら階層を閉じたときと同じ挙動を F4 で実行できます 参考サイト様

【Unity】ビルドを開始する時に確認ダイアログを表示するエディタ拡張

概要 using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { BuildPlayerWindow.RegisterBuildPlayerHandler( OnBuild ); } private static void OnBuild( BuildPlayerOptions options ) { var isBuild = EditorUtility.…

【Unity】Unity エディタを終了する時に確認ダイアログを表示するエディタ拡張

概要 using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.wantsToQuit += () => { return EditorUtility.DisplayDialog ( title : "Unity", message : "Unity を終了しますか?", ok : "はい", can…

【Unity】Unity エディタを終了できなくするエディタ拡張

概要 using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.wantsToQuit += () => false; } } (終了したい場合はタスク マネージャーからタスクを終了します)