概要
今日のUnityでインスペクタ上にボタンを表示するのは何かと不便です。
Editor拡張する方法だと複数同時編集ができません。
Odin のようなアセットは有料だったりOSSできなかったりします。
そこで、Editor拡張を利用せずコンポーネント単体でボタンを実装する方法を考えました。
方法
[SerializeField] bool XXX
で出現するチェックボックス✅を OnValidate() で制御すると、コンポーネント単体でボタンを実現できます。
using UnityEngine;
public class boolButton : MonoBehaviour
{
#if UNITY_EDITOR
[SerializeField] bool _button;
private void OnValidate()
{
if (_button)
{
_button = false;
ButtonProcess();
}
}
private void ButtonProcess()
{
Debug.Log("Pushed Button");
}
#endif
}