コガネブログ

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

【Unity】アセットをプロジェクトに追加する時に上書きできる「unity-overwriter」紹介

はじめに 「unity-overwriter」を Uniy プロジェクトに導入することで アセットをプロジェクトに追加する時に上書きできるようになります 使用例

【Unity】GUIStyleで使用できる文字列の一覧がまとめられている Gist

概要 https://gist.github.com/MadLittleMods/ea3e7076f0f59a702ecb

【Unity】EditorGUIUtility.IconContent で使用できる 1000 種類以上のアイコンがまとめられている GitHub リポジトリ

概要 上記の GitHub リポジトリでは EditorGUIUtility.IconContent で使用できる 1000 種類以上のアイコンがすべてまとめられています 使用例 using UnityEditor; using UnityEngine; public sealed class Example : EditorWindow { [MenuItem( "Tools/Hoge"…

【Unity】Animator の Transition を 2D アニメーションが即座に切り替わるように変更するエディタ拡張

概要 using UnityEditor; using UnityEditor.Animations; public static class AnimatorStateTransitionContext { [MenuItem( "CONTEXT/AnimatorStateTransition/Reset Simple" )] private static void ResetSimple( MenuCommand command ) { var transition…

【Unity】Animator の Transition の Inspector のコンテキストメニューに項目を追加するエディタ拡張のサンプル

概要 using UnityEditor; using UnityEditor.Animations; public static class Example { [MenuItem( "CONTEXT/AnimatorStateTransition/Hoge" )] private static void Hoge( MenuCommand command ) { var transition = command.context as AnimatorStateTra…

【Unity】UIElements で Scene ビューにツールバーを追加するエディタ拡張のサンプル

ソースコード using UnityEditor; using UnityEngine; using UnityEngine.UIElements; [InitializeOnLoad] public static class Example { static Example() { foreach ( var sceneView in Resources.FindObjectsOfTypeAll<SceneView>() ) { var toolbar = new VisualEl</sceneview>…

【Unity】Text の Inspector に ContentSizeFitter をアタッチするボタンを追加するエディタ拡張

はじめに 上記の記事の手順を踏むことで Text の Inspector に ContentSizeFitter をアタッチするボタンを追加できます 概要 if ( GUILayout.Button( "Add ContentSizeFitter" ) ) { var text = target as Text; var gameObject = text.gameObject; if ( gam…

【Unity】HorizontalLayoutGroup や VerticalLayoutGroup の Inspector に ContentSizeFitter をアタッチするボタンを追加するエディタ拡張

はじめに 上記の記事の手順を踏むことで HorizontalLayoutGroup や VerticalLayoutGroup の Inspector に ContentSizeFitter をアタッチするボタンを追加できます 概要 if ( GUILayout.Button( "Add ContentSizeFitter" ) ) { var layoutGroup = target as H…

【Unity】ContentSizeFitter の Inspector に HorizontalFit と VerticalFit を同時に変更するボタンを追加するエディタ拡張

はじめに 上記の記事の手順を踏むことで ContentSizeFitter の Inspector に HorizontalFit と VerticalFit を同時に変更するボタンを追加できます ソースコード using UnityEngine; using UnityEngine.UI; namespace UnityEditor.UI { [CustomEditor(typeof…

【Unity】uGUI の Button や Text の Inspector をエディタ拡張する方法

はじめに uGUI の Button や Text の Inspector は通常方法でエディタ拡張することはできないですが、 https://bitbucket.org/Unity-Technologies/ui uGUI のソースコードはオープンソースとして上記 URL で公開されているので プロジェクトファイルをダウン…

【Unity】Tilemap の Inspector に Compress Bounds のボタンを追加するエディタ拡張

ソースコード using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.Tilemaps; [CustomEditor( typeof( Tilemap ) )] public sealed class TilemapEditor : Editor { public override void OnInspectorGUI() { base…

【Unity】ゲームオブジェクトやアセットの選択履歴を管理できるエディタ拡張「Simple Selection History Lite」紹介(無料)

はじめに 「Simple Selection History Lite」は ゲームオブジェクトやアセットの選択履歴を管理できるエディタ拡張です 使い方 Unity メニューの「Tools > Simple Selection History > Show window」を押すと ゲームオブジェクトやアセットの選択履歴を管理…

【Unity】フォルダに対してモデルやテクスチャ、オーディオクリップのインポート設定を適用できるエディタ拡張「FolderInspector」紹介(無料)

はじめに 「FolderInspector」はフォルダに対してモデルやテクスチャ、 オーディオクリップのインポート設定を適用できるエディタ拡張です 使い方 フォルダを選択して「Enable Auto Import Setting」をオンにすると フォルダに含まれているモデルやテクスチ…

【Unity】Hierarchy を拡張できる「Unity-HierarchyHelper」紹介

はじめに 「Unity-HierarchyHelper」を Unity プロジェクトに導入することで Hierarchy を拡張できるようになります 使用例 使い方 Unity メニューの「Tools>HierarchyHelper>Open Setting Window」を選択して 表示されたウィンドウで「Enable Helper System…

【Unity】Inspector で UV のプレビューを表示できる「UVPreview」紹介

はじめに 「UGUIEffect」を Unity プロジェクトに導入することで Inspector で UV のプレビューを表示できるようになります 使用例 Inspector 下部のメニューを操作することで使用できます

【Unity】Scene ビューのカメラを右クリック + WASDQE で操作できる「UnitySmoothEditorCamera」紹介

はじめに 「UnitySmoothEditorCamera」を Unity プロジェクトに導入することで Scene ビューのカメラを右クリック + WASDQE で操作できるようになります 使い方 Scene ビューを右クリックしながら WASDQE を押すことで 上下左右前後にカメラを操作できます …

【Unity】エディタ拡張でマウスカーソルが Scene ビューに重なっているかどうか確認する方法

ソースコード using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.update += Update; } private static void Update() { var mouseOverWindow = EditorWindow.mouseOverWindow;…

【Unity】Tilemap のすべてのタイルを上下左右にずらすボタンを Scene ビューに表示するエディタ拡張

ソースコード using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Tilemaps; [InitializeOnLoad] internal static class TilemapShifter { private class TileInfo { public readonly Vector3Int m_position; publ…

【Unity】Tilemap のすべてのタイルを上下左右にずらす EditorWindow のエディタ拡張

ソースコード using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Tilemaps; [InitializeOnLoad] internal static class TilemapShifter { private class TileInfo { public readonly Vector3Int m_position; publ…

【Unity】Tilemap のすべてのタイルをカーソルキーで上下左右にずらすことができるエディタ拡張

ソースコード using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Tilemaps; [InitializeOnLoad] internal static class TilemapShifter { private class TileInfo { public readonly Vector3Int m_position; publ…

【Unity】Hierarchy にコンポーネントのアイコンを表示できる「Hierarchy Icons」紹介

はじめに 「Hierarchy Icons」を Unity プロジェクトに導入することで Hierarchy にコンポーネントのアイコンを表示できるようになります 使用例 使い方 「Hierarchy Icons」を Unity プロジェクトの 「Editor」フォルダに追加するだけで使用できます Prefer…

【Unity】スクリプトから Game ビューの解像度の編集ができる「GameViewSizeHelper」紹介

はじめに 「GameViewSizeHelper」を Unity プロジェクトに導入することで スクリプトから Game ビューの解像度の編集ができるようになります 使い方 var groupType = GameViewSizeGroupType.Standalone; var size = new GameViewSizeHelper.GameViewSize { t…

【Unity】Hierarchy や Project ビューのすべての開いている階層を閉じることができるエディタ拡張「EditorCollapseAll.cs」紹介

ソースコード 使い方 Hierarchy を右クリックして「Collapse All」を押したり Project ビューを右クリックして「Collapse Folders」を押すことで使用できます

【Unity】Hierarchy を操作する便利なコマンドが用意されたウィンドウを使用できる「Unity-HierarchyTools」紹介

はじめに 「Unity-HierarchyTools」を Unity プロジェクトに導入することで Hierarchy を操作する便利なコマンドが用意されたウィンドウを使用できるようになります 使い方 Unity メニューの「Window>Tools>Hierarchy」を選択して 表示されたウィンドウで便…

【Unity】エディタ拡張で Hierarchy のような GUI を簡単に実装できる「Editor GUI Hierarchy View」紹介

はじめに 「Editor GUI Hierarchy View」を Unity プロジェクトに導入することで エディタ拡張で Hierarchy のような GUI を簡単に実装できるようになります 使用例 using UnityEditor; public sealed class Example : EditorWindow { private EditorGUIHier…

【Unity】Scene ビューのカメラの状態を保存・読み込みできる「Scene Shot Bookmarks」紹介

はじめに 「Scene Shot Bookmarks」を Unity プロジェクトに導入することで Scene ビューのカメラの状態を保存・読み込みできるようになります 使い方 Unity メニューの「Window>Scene Shot Bookmarks」を選択して 表示されたウィンドウで「Bookmark」ボタン…

【Unity】フォルダの選択履歴を管理できる「Unity Project Browser History Buttons」紹介

はじめに 「Unity Project Browser History Buttons」を Unity プロジェクトに導入することで フォルダの選択履歴を管理できるようになります 使い方 Unity メニューの「Window>Utility>Project Browser Extension」を選択して 表示されたウィンドウで矢印ボ…

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

はじめに 「Unity Selection History Window」を Unity プロジェクトに導入することで 選択したオブジェクト・アセットの履歴を管理できるようになります 使い方 Unity メニューの「Window>Gemserk>Selection History」を選択して 表示されたウィンドウでオ…

【Unity】Hierarchy や Project ビューのオブジェクト・アセットを一括でリネームできる「Universal Rename Tool」紹介

はじめに 「Universal Rename Tool」を Unity プロジェクトに導入することで Hierarchy や Project ビューのオブジェクト・アセットを 一括でリネームできるようになります 使い方 Unity メニューの「Window>Rename Tool」を選択して 表示されたウィンドウで…

【Unity】EditorUtility.SetDirty が正常に動作しない場合

概要 Undo.RecordObject( tilemap, "Refresh All Tiles" ); tilemap.RefreshAllTiles(); EditorUtility.SetDirty( tilemap ); Undo.RecordObject を併用すると正常に動作する模様 参考サイト様 https://forum.unity.com/threads/editorutility-setdirty-brok…