うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】Inspectorで簡単にカスタムメニュー項目を追加する方法

UnityのInspector上で特定のフィールド名を右クリックした際に表示されるメニューに、カスタムな動作や処理を追加したいことはよくあります。

そんなときに便利なのが、ContextMenuItem属性です。この属性を使うと、簡単にカスタムなメニュー項目を追加できます。具体的な使い方を見てみましょう。

using UnityEngine;

public class ExampleScript : MonoBehaviour
{
    [ContextMenuItem("Log Speed", nameof(LogSpeed))]
    [SerializeField]
    private float _speed = 1f;
    
    private void LogSpeed()
    {
        Debug.Log(_speed);
    }
}

上記の例では、"speed"というフィールドにContextMenuItem属性を追加し、"Log Speed"というメニュー項目を追加しています。このメニュー項目をクリックすると、LogSpeedメソッドが呼び出され、"speed"の値がログに出力されます。

これにより、Inspector上で簡単にカスタムメニュー項目を追加し、開発効率を向上させることができます。