コガネブログ

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

【Unity】Tilemap の Tile Palette で選択されているブラシをスクリプトから変更する方法

ソースコード using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEngine; public static class GridPaintingStateUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | Bindin…

【Unity】Tilemap の Tile Palette に登録されているすべてのブラシを取得する方法

ソースコード using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEngine; public static class GridPaletteBrushesUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | Bindi…

【Unity】Tilemap で Tile Palette のブラシが変更された時に呼び出されるイベント

ソースコード using System; using System.Reflection; using UnityEditor; using UnityEngine; public static class EditorApplicationUtility { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Public; private static re…

【Unity】Tilemap で Tile Palette の Active Tilemap が変更された時に呼び出されるイベント

ソースコード using System; using System.Reflection; using UnityEditor; using UnityEngine; public static class EditorApplicationUtility { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Public; private static re…

【Unity】Tilemap が複製された時に、複製された Tilemap を Tile Palette の Active Tilemap に自動で設定するエディタ拡張

概要 Tilemap が複製された時は Tile Palette の Active Tilemap は変化しないですが using System.Reflection; using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.hierarchyChanged += OnChanged…

【Unity】Tilemap で Tile Palette の Active Tilemap をスクリプトから変更する方法

概要 using System.Reflection; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var assembly = typeof( AssetDatabase ).Assembly; var type = assembly.GetType( "UnityEditor.GridPaintingState" )…

【Unity】RectTransform の Inspector を拡張する方法

概要 using System; using UnityEditor; using UnityEngine; [CustomEditor( typeof( RectTransform ) )] public sealed class RectTransformEditor : Editor { private static readonly Type DEFAULT_EDITOR_TYPE = typeof( Editor ) .Assembly .GetType( "…

【Unity】Windows における PackageManager で入手したパッケージの保存先

概要 【Unity プロジェクト】\Library\PackageCache PackageManager で入手したパッケージは上記のフォルダに保存されます

【Unity】エディタ拡張で AddComponent を Undo できるようにする方法

概要 var boxCollider = Undo.AddComponent<BoxCollider>( gameObject ); Undo.AddComponent を使用すると エディタ拡張で AddComponent を Undo できるようになります</boxcollider>

【Unity】UniTask で指定した秒数を待機する処理を簡潔にする関数

ソースコード using System; using System.Threading; namespace UniRx.Async { public partial struct UniTask { public static UniTask DelaySecond ( float seconds, bool ignoreTimeScale = false, PlayerLoopTiming delayTiming = PlayerLoopTiming.Upd…

【Unity】The character used for Ellipsis is not available in font asset [XXXX].

はじめに The character used for Ellipsis is not available in font asset [XXXX]. TextMesh Pro を使用していたら上記の警告が出力される現象に遭遇した 解決方法 TextMesh Pro に含まれている LineBreaking Following Characters.txt LineBreaking Leadi…

【Unity】TextMesh Pro の警告の出力を無効化する方法

概要 TMP Settings を選択して 「Disable warnings」をオンにすると、TextMesh Pro の警告の出力を無効化できます

【Unity】TextMesh Pro のオブジェクト作成時に Raycast Target をデフォルトでオフにする方法

概要 TMP Settings を選択して 「Enable Raycast Target」をオフにすると、 TextMesh Pro のオブジェクト作成時に Raycast Target がオフになります

【Unity】ScriptableObject のクラス名を変更すると AssetDatabase.FindAssets( "t:XXXX" ) でヒットしなくなる

検証環境 Unity 2018.4.8f1 概要 リネーム前 using UnityEngine; public class Example : ScriptableObject { } 例えば Example という名前の ScriptableObject のクラスを定義して すでにアセットを作成している場合、 Project ビューで「t:Example」形式で…

【Unity】ScriptableObject の private 変数に設定した値は Unity エディタの再生を停止しても保持されてしまう

検証環境 Unity 2018.4.8f1 概要 using UnityEngine; public class Example : ScriptableObject { private string[] m_list; public string[] List { get { // はじめてアクセスされたら配列を作成する if ( m_list == null || m_list.Length <= 0 ) { m_lis…