コガネブログ

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

【Unity】2D SpriteShape で破線を表示するサンプル「Unity Dashed (Dotted) Sprite Shape」紹介

はじめに 「Unity Dashed (Dotted) Sprite Shape」は 2D SpriteShape で破線を表示するサンプルです 使用例 クイックスタート 2D SpriteShape を導入している Unity プロジェクトに リポジトリで公開されているアセットを導入して 「DemoScene」を開くことで…

【Unity】ゲームオブジェクトの差分を比較できる「Unity Inspect+ Plugin」紹介

はじめに 「Unity Inspect+ Plugin」を Unity プロジェクトに導入することで ゲームオブジェクトの差分を比較できるようになります クイックスタート Unity メニューの「Window > Inspect+ > Diff Window」を選択して 表示されたウィンドウに差分を比較した…

【Unity】Missing Script やアセットの使用箇所を検索できる「Finder」紹介

はじめに 「Finder」を Unity プロジェクトに導入することで Missing Script やアセットの使用箇所を検索できるようになります クイックスタート Project ウィンドウを右クリックして「Finder」からコマンドを実行できます 「Find Missing Script ~」を選ぶ…

【Unity】チュートリアルなどで特定のボタンのみハイライトして、それ以外のボタンを押せなくすることができる「GuardLayerImage」紹介

はじめに 「GuardLayerImage」を Unity プロジェクトに導入することで チュートリアルなどで特定のボタンのみハイライトして、 それ以外のボタンを押せなくすることができるようになります 使用例 クイックスタート Canvas の前面に表示される位置に空のゲー…

【Unity】Project ビューにファイルごとの Git ステータスを表示したりできる「uVCSBridge」紹介

はじめに 「uVCSBridge」を Unity プロジェクトに導入することで Project ビューにファイルごとの Git ステータスを表示したりできるようになります 使用例 Project ビューにファイルごとの Git ステータスを表示できます TortoiseGit のコマンドを実行する…

【C#】指定したパスのすべての親フォルダのパスを取得する方法

C#

ソースコード private static IEnumerable<string> GetParentDirectories( string path ) { while ( true ) { var directoryName = Path.GetDirectoryName( path ); if ( string.IsNullOrWhiteSpace( directoryName ) ) yield break; yield return directoryName; pa</string>…

【Unity】パラメータを EditorWindow にグラフで表示できる「UnityGraphs」紹介

はじめに 「UnityGraphs」を Unity プロジェクトに導入することで パラメータを EditorWindow にグラフで表示できるようになります 使用例 クイックスタート using UnityEngine; internal sealed class Example : MonoBehaviour { private int m_hp; private…

【Unity】EditorGUIUtility.IconContent で使用できるアイコンを一覧で表示できる「UnityEditorIcons」紹介

はじめに 「UnityEditorIcons」を Unity プロジェクトに導入することで EditorGUIUtility.IconContent で使用できるアイコンを一覧で表示できるようになります 使用例 Unity メニューの「Tools > Editor Icons」を押すことで EditorGUIUtility.IconContent …

【Unity】エディタ上でサスペンドレジュームの動作確認をする方法

概要 Project Settings で「Player」の「Run In Background」をオフにした状態で Unity エディタにフォーカスを合わせたり外したりすれば using UnityEngine; public sealed class Example : MonoBehaviour { private void OnApplicationPause( bool pauseSt…

【Unity】EditorWindow 内にサブウィンドウを表示できる「UnitySubWindow」紹介

はじめに 「UnitySubWindow」を Unity プロジェクトに導入することで EditorWindow 内にサブウィンドウを表示できるようになります 使用例 using UnityEditor; using UnityEngine; internal sealed class Example : MDIEditorWindow { [MenuItem( "Tools/Hog…

【Unity】ゲーム実行中にコンポーネントのパラメータを EditorWindow に表示できる「PlayMode Inspector for Unity」紹介

はじめに 「PlayMode Inspector for Unity」を Unity プロジェクトに導入することで ゲーム実行中にコンポーネントのパラメータを EditorWindow に表示できるようになります 使用例 using Oddworm.Framework; using UnityEngine; internal sealed class Exam…

【Unity】VSCode でデバッグできなくなった場合の対処方法

概要 VSCode でデバッグを開始しようとしたら 「環境の選択」に「Unity Debugger」が表示されず、デバッグできない状況に遭遇した 自前で launch.json を用意してデバッグを開始しようとしても error while processing request 'launch' (exception: オブジ…

【Unity】シーンを開き直した時に前回の階層の状態を復元できる「Scene Keeper」紹介

はじめに 「Scene Keeper」を Unity プロジェクトに導入することで シーンを開き直した時に前回の階層の状態を復元できるようになります 使用例 通常ならシーンを開き直した時に階層がすべて閉じた状態になりますが 「Scene Keeper」を導入するとシーンを開…

【Unity】変数の値を閲覧したり関数を実行したりできる「Debug Panel」紹介

はじめに 「Debug Panel」を Unity プロジェクトに導入することで 変数の値を閲覧したり関数を実行したりできるようになります 使用例 using BrunoMikoski.DebugTools.Core.Attributes; using UnityEngine; [DebuggableClass( "Examples" )] internal sealed…