コガネブログ

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

【Unity】エディタ拡張でショートカットキーから関数を呼び出せるようにする「ShortcutAttribute」

概要

using UnityEditor.ShortcutManagement;
using UnityEngine;

public static class Example
{
    // F1 で呼び出せるようにする
    [Shortcut( "Kogane/Hoge1", KeyCode.F1 )]
    private static void Hoge1()
    {
        Debug.Log( "ピカチュウ" );
    }
    
    // Alt + F1 で呼び出せるようにする
    [Shortcut( "Kogane/Hoge2", KeyCode.F1, ShortcutModifiers.Alt )]
    private static void Hoge2()
    {
        Debug.Log( "ライチュウ" );
    }
}

エディタ拡張で ShortcutAttribute を関数に適用すると
指定したショートカットキーで関数を呼び出せるようになります
MenuItemAttribute と違ってメニューには追加されませんが、

f:id:baba_s:20200917113036p:plain

Unity メニューの「Edit > Shortcuts...」から

f:id:baba_s:20200917113042p:plain

Shortcuts ウィンドウを開いて使用するショートカットキーの変更が可能です