コガネブログ

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

【Unity】簡単にオブジェクトプールを使用できる「Master Object Pooler 2」紹介

はじめに 「Master Object Pooler 2」を Unity プロジェクトに導入することで 簡単にオブジェクトプールを使用できるようになります 使い方 Project ビューの「Create > Master Object Pooler 2 > Object Pool」を選択して オブジェクトプールを管理するアセ…

【Unity】BuildTarget を BuildTargetGroup に変換する拡張メソッド

ソースコード using UnityEditor; public static class BuildTargetExt { public static BuildTargetGroup ToBuildTargetGroup( this BuildTarget self ) { switch ( self ) { case BuildTarget.StandaloneOSX: case BuildTarget.StandaloneWindows: case Bu…

【Unity】エディタで使用するツール時が変更された時に呼び出されるイベント

概要 エディタで使用するツール時が変更されると using UnityEditor; using UnityEditor.EditorTools; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditorTools.activeToolChanged += () => Debug.Log( "chang…

【Unity】プレハブのインスタンスに変更があるかどうかエディタ拡張で確認する方法

概要 using UnityEditor; using UnityEngine; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var prefabInstance = GameObject.Find( "Cube" ); var hasOverrides = PrefabUtility.HasPrefabInstanceAnyOverrides ( inst…

【Unity】Unity 2019.3 で UIElements を使用して Inspector の余白を減らす

使用例 Before After 使い方 上記のような「common.uss」という名前のファイルを Unity 2019.3 のプロジェクトの 「Assets/Editor/StyleSheets/Extensions」フォルダに追加することで Inspector の余白を減らすことができます (正常に反映されない場合は Un…

【Unity】string.Format や StringBuilder、TextMesh Pro の割り当てを削減できる「ZString」紹介

はじめに 「ZString」を Uniy プロジェクトに導入することで string.Format や StringBuilder、TextMesh Pro の割り当てを削減できるようになります string.Format 通常 using UnityEngine; public class Example : MonoBehaviour { private void Update() {…

【Unity】Build Settings や Project Settings でアクティブではないプラットフォームが選択されている時はビルドをキャンセルするエディタ拡張

ソースコード using UnityEditor; [InitializeOnLoad] public static class Example { private const string TITLE = "ビルド キャンセル"; private const string MESSAGE = @"Build Settings や Project Settings で {0} プラットフォームが選択されていた…

【Unity】特定のフォルダ内のアセットを編集して保存できないようにするエディタ拡張

概要 例えば上記のスクリプトを Unity プロジェクトの Editor フォルダに追加すると Assets/Folder1 Assets/Folder2 これらのフォルダ以下に存在するアセットは編集して保存できないようになります

【Unity】特定のフォルダ内のアセットが他のフォルダに移動しないようにするエディタ拡張

概要 例えば上記のスクリプトを Unity プロジェクトの Editor フォルダに追加すると 「@Project」フォルダ内のアセットを「@Project」フォルダ外に移動したり、 「@Project」フォルダ外のアセットを「@Project」フォルダ内に移動したりできなくなります

【Unity】Asset Store で2D系のアセットが30%OFFのセール中

概要 上記ページからセール中の2D系アセットが確認できます

【Unity】Hierarchy を右クリックした時に表示されるメニューをカスタマイズできるエディタ拡張「Unity Hierarchy Menu Customizer」を GitHub に公開しました

はじめに Hierarchy を右クリックした時に表示されるメニューをカスタマイズできるエディタ拡張 「Unity Hierarchy Menu Customizer」を GitHub に公開しました 使用例 インストール "com.baba_s.unity-hierarchy-menu-customizer": "https://github.com/bab…

【Unity】Project ビューを右クリックした時に表示されるメニューをカスタマイズできるエディタ拡張「Unity Project Window Menu Customizer」を GitHub に公開しました

はじめに Project ビューを右クリックした時に表示されるメニューをカスタマイズできるエディタ拡張 「Unity Project Window Menu Customizer」を GitHub に公開しました 使用例 インストール "com.baba_s.unity-project-window-menu-customizer": "https://…

【Unity】各プラットフォームにおいてコンパイルエラーが発生しないか確認できるテストコード

検証環境 Unity 2019.3.0f6 ソースコード 上記のスクリプトを Unity プロジェクトの Editor フォルダに追加します 使用例 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { #if UNITY_ANDROID ここでコンパイルエラー #en…

【Unity】.unitypackage で追加したアセットを削除できるエディタ拡張「Unity Package Asset Deleter」を GitHub に公開しました

はじめに .unitypackage で追加したアセットを削除できるエディタ拡張 「Unity Package Asset Deleter」を GitHub に公開しました インストール "com.baba_s.unity-package-asset-deleter": "https://github.com/baba-s/unity-package-asset-deleter.git", m…