コガネブログ

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

【Unity】Android でもソフトウェアキーボードの表示領域を取得できるパッケージ「UniSoftwareKeyboardArea」を GitHub に公開しました

リポジトリ 使用例 using UniSoftwareKeyboardArea; using UnityEngine; using UnityEngine.UI; public class Test : MonoBehaviour { public CanvasScaler m_canvasScaler; public RectTransform m_rectTransform; private void Update() { var rate = m_ca…

【Unity】スプライトの Border をコンテキストメニューから設定できるエディタ拡張「UniSpriteBorderSetupper」を GitHub に公開しました

リポジトリ 使い方 Border を設定したいスプライトを右クリックして「UniSpriteBorderSetupper > 選択中のスプライトの Border を自動で設定」を選択すると 指定したスプライトの Border が自動で設定されます 複数のスプライトを選択してコマンドを実行する…

【Unity】Transform プロパティをキャッシュする MonoBehaviour「UniCacheableMonoBehaviour」を GitHub に公開しました

リポジトリ 使用例 using UnityEngine; public class Example : CacheableMonoBehaviour { private void Start() { var vec = Vector3.zero; var x = 0f; var y = 0f; var z = 0f; // transform.position を操作 vec = position; x = position.x; y = positi…

【Unity】タグ付きのデバッグログなどを使用できるパッケージ「UniDebugLogger」を GitHub に公開しました

リポジトリ 使用例 using UniDebugLogger; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { IDebugLogger logger; logger = DefaultDebugLogger.Instance; logger.Log( "Log" ); logger.Log( "Log", gameObject ); logge…

【Unity】EditorPrefs が保存しているすべてのキーと値を閲覧できるエディタ拡張「UniEditorPrefsWindow」を GitHub に公開しました

リポジトリ 使い方 Unity メニューの「Window > UniEditorPrefsWindow」を押すと EditorPrefs が保存しているすべてのキーと値を閲覧できます

【Unity】Unity 再生時の開始シーンを設定できるエディタ拡張「UniPlayModeStartSceneSettingWindow」を GitHub に公開しました

リポジトリ ] 使い方 Unity メニューの「Window > UniPlayModeStartSceneSettingWindow」を選択して 表示されたウィンドウの「Start Scene」にシーンファイルを設定すると Unity 再生時に必ずそのシーンから開始するようになります 「Set Current Scene」ボ…

【Unity】Unity で Immutable Collections を使用できるようにする「Unity3D Immutable Collections」紹介

はじめに 「Unity3D Immutable Collections」を Unity プロジェクトに導入することで Unity で Immutable Collections を使用できるようになります 使用例 using Izzo.Collections.Immutable; using UnityEngine; public sealed class Example : MonoBehavio…

【Unity】SceneHierarchy クラスの internal な機能にアクセスできる機能「UniSceneHierarchyInternal」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // Hierarchy で選択中のゲームオブジェクトのリネームモードに入る SceneHierarchyInternal.RenameGO(); } }

【Unity】シーンやプレハブから Missing Script を削除するエディタ拡張「UniMissingScriptRemover」を GitHub に公開しました

リポジトリ 使い方 Unity メニューの「Edit > UniMissingScriptRemover」から どのシーンやプレハブから Missing Script を削除するか選択することで使用できます

【Unity】Console ウィンドウの internal な機能を呼び出せるようにするクラス「UniConsoleWindowInternal」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // Console ウィンドウでログを検索 ConsoleWindowInternal.SetFilter( "ピカチュウ" ); } }

【Unity】Project ビューの internal な機能を呼び出せるようにするクラス「UniProjectBrowserInternal」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // Project ビューでアセットを検索 ProjectBrowserInternal.SetSearch( "ピカチュウ" ); } }

【Unity】エディタ上でのスクリプト関連の操作でなぜ処理に時間がかかっているのか確認できる「Editor Iteration Profiler」紹介

はじめに 現在、「Editor Iteration Profiler」と呼ばれるエディタ用のプロファイラが開発されています 「Editor Iteration Profiler」を Unity プロジェクトに導入することで スクリプトをコンパイルした時になぜ時間がかかっているのか Unity を再生する時…

【Unity】フォルダの Inspector にボタンを追加するエディタ拡張「UniFolderInspector」を GitHub に公開しました

リポジトリ 使用例 選択中のフォルダにフォルダや C# スクリプトを作成できるボタンが使用できるようになります

【Unity】Inspector でゲームオブジェクトの編集を不可能にできるエディタ拡張「UniGameObjectLocker」を GitHub に公開しました

リポジトリ 使い方 Inspector で Transform コンポーネントを右クリックして「Switch Lock - Unlock」を押すと そのゲームオブジェクトを編集不可にできます 編集可能に戻したい場合はもう一度同じメニューを選択します

【Unity】アセットのパスに関する処理を記述しやすくする構造体「UniAssetPath」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEditor; using UnityEngine; public static class Test { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var assetPath = new AssetPath( "Assets/New Material.mat" ); // 下記の記述も可能 //Asse…

【Unity】Assembly Definition を作成する時のコンパイル回数を抑えられるエディタ拡張「UniAssemblyDefinitionCreator」を GitHub に公開しました

リポジトリ 使い方 Project ビューのコンテキストメニューから「Open Assembly Definition Creator」を選択して 表示されたウィンドウで Assembly Definition を作成することができます 通常の手順で Assembly Definition を作成して設定を変更する場合 Asse…

【Unity】開始と終了がある処理を using ステートメントで使用できる「UniScope」を GitHub に公開しました

リポジトリ 使用例 AssetEditingScope // 通常 AssetDatabase.StartAssetEditing(); //... AssetDatabase.StopAssetEditing(); // UniScope using ( new AssetEditingScope() ) { //... } HandlesColorScope // 通常 var oldColor = Handles.color; Handles.…

【Unity】無効値を表す構造体「UniOptional」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEngine; public sealed class Example : MonoBehaviour { private static Optional<string> GetName() { return default; } private void Start() { var name = GetName(); // 値を持っている場合 if ( name ) { Debug.L</string>…

【Unity】アセットをブックマークできるエディタ拡張「UniBookmark」を GitHub に公開しました

リポジトリ 使い方 Unity メニューの「Window > UniBookmark」を押すと ブックマークを管理できる「UniBookmark」ウィンドウが表示されます 「Add Asset」ボタンを押すか、「Add Asset」ボタンにアセットをドラッグすると ブックマークにアセットを登録でき…

【Unity】アセンブリのコンパイルのプロセスを可視化できるエディタ拡張「Compilation Visualizer for Unity」紹介

はじめに 「Compilation Visualizer for Unity」は アセンブリのコンパイルのプロセスを可視化できるエディタ拡張です 使用例 プロジェクト全体をコンパイルし直した場合 Assembly-CSharp.dll のスクリプトを修正した場合

【Unity】選択したゲームオブジェクトやアセットの履歴を管理できる「Unity Editor History panel」紹介

はじめに 「Unity Editor History panel」を Unity プロジェクトに導入することで 選択したゲームオブジェクトやアセットの履歴を管理できるようになります 使用例 使い方 Unity メニューの「Tools > Open Open Navigation Panel」を選択することで 履歴を管…

【Unity】URP で透明をディザリングで描画できる「Dither Transparency in Unity URP」紹介

はじめに 「Dither Transparency in Unity URP」を Unity プロジェクトに導入することで URP で透明をディザリングで描画できるようになります 使用例 使い方 Shader を「Shader Graph/DitherTransparent」に変更したマテリアルを使用します

【Unity】URP でセルシェーディングを使用できる「Cel-shading in Shader Graph and URP」紹介

はじめに 「Cel-shading in Shader Graph and URP」を Unity プロジェクトに導入することで URP でセルシェーディングを使用できるようになります 使用例 使い方 Shader を「Shader Graph/Cel-shaded」に変更したマテリアルを使用します

【Unity】URP で水面を描画できる「Stylised Water in Unity URP」紹介

はじめに 「Stylised Water in Unity URP」を Unity プロジェクトに導入することで URP で水面を描画できるようになります 使用例 使い方 Shader を「Shader Graph/StylisedWater」に変更したマテリアルを使用します

【Unity】ログ出力を Scene ビューに表示できる「Scene view notification」紹介

はじめに 「Scene view notification」を Unity プロジェクトに導入することで ログ出力を Scene ビューに表示できます 使用例 使い方 using System.Collections; using UnityEngine; public class Example : MonoBehaviour { private IEnumerator Start() {…

【Unity】URP で SpriteRenderer のドット絵のアウトラインシェーダを使用できる「2D Outlines in Shader Graph and Unity URP」紹介

はじめに 「2D Outlines in Shader Graph and Unity URP」を Unity プロジェクトに導入することで URP で SpriteRenderer のドット絵のアウトラインシェーダを使用できるようになります 使用例 使い方 SpriteRenderer に OutlineSprite マテリアルを割り当て…

【Unity】28個のイメージエフェクトの実装を見ることができる「Image Effects Ultra」紹介

はじめに 「Image Effects Ultra」では28個のイメージエフェクトの実装を見ることができます スクリーンショット

【Unity】マリオオデッセイのスナップショットで使えるフィルターのようなシェーダの実装を見ることができる「SMO Shaders」紹介

はじめに 「SMO Shaders」ではマリオオデッセイのスナップショットで使える フィルターのようなシェーダの実装を見ることができます シェーダ 油絵 ゲームボーイ スーパーファミコン ファミコン ブルーム ネオン アウトライン シルエット ブラー セピア グレ…

【Unity】ボタンが押されて縮小した時に、当たり判定のサイズも一緒に縮小する現象を避けるためのコンポーネント「UniUIColliderSizeAdjuster」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEngine; using UnityEngine.EventSystems; public class Example : MonoBehaviour, IPointerDownHandler, IPointerUpHandler { private UIColliderSizeAdjuster m_adjuster; private void Awake() { m_adjuster …

【Unity】ファイルを開くアプリケーションを設定できるエディタ拡張「UniOpenAssetCustomizer」を GitHub に公開しました

リポジトリ 使い方 Unity の Preferences の左メニューから「UniOpenAssetCustomizer」を開くことで、 ファイルを開くアプリケーションを拡張子ごとに設定できます 項目 内容 Extension 対象の拡張子(「.」は不要) Application Path ファイルを開くアプリ…