【Unity】インスペクターにボタンを表示させる方法【エディタ拡張】

【PR Unityアセットストア】パブリッシャーセール開催中!

凍った川や湖が表現できるマテリアルやシェーダーのアセットIce World がクーポンコード「NATUREMANUFACTURE2024」で無料でゲットできます
7月25日 23:59まで

Ice World

はじめに

Unityでインスペクターにボタンを表示させる方法について紹介します。

ボタンが置けるようになると、色んなメリットがあります。

  1. 操作の効率化 例えば、オブジェクトの特定の機能を有効化するためのボタンを追加することで、手動でスクリプトを編集する必要がなくなり、作業が効率化されます。
  2. デバッグの容易化 インスペクターにボタンを追加することで、コードを簡単にテストすることができます。例えば、ボタンをクリックすることで、デバッグに役立つ情報を出力する関数を呼び出すことができます。

インスペクターにボタンを配置する方法

スクリプトを2つ用意して、それぞれ次のようなコードを書きます。スクリプト名は何でも良いので自由につけてください。本記事では、YourScript、YourScriptEditorと名づけました。

「YourScript」クラスにボタンを配置するスクリプト

“ボタンの名前”のところは、自由に表示したい名称を入れてください。

using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(YourScript))]
public class YourScriptEditor : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();
        if (GUILayout.Button("ボタンの名前"))
        {
            YourScript yourScript = (YourScript)target;
            yourScript.YourButtonFunction();
        }
    }
}

ボタンが押された時の処理を書くスクリプト「YourScript」

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class YourScript : MonoBehaviour
{
    // ボタンが押されたら実行する処理
    public void YourButtonFunction()
    {
        // ここに処理の内容を書く
        Debug.Log("ボタンが押されたよ!");
    }
}

ゲームオブジェクトに「YourScript」をアタッチすると、ボタンが表示されました!

押してみると、処理が実行されました。

おわりに

ボタンを配置して、効率よく進めましょう!

カスタムエディタは、Unityのエディタウィンドウでのみ機能するため、実行中のゲームには影響を与えないので安心して使ってください。

タイトルとURLをコピーしました