5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Unityでのショートカットウィンドウの作成

Posted at

先日行われたUnity SYNCの中で【『ヘブンバーンズレッド』の大規模開発と高速イテレーションを支える、自作ツール群の秘密】の公演でオリジナルのショートカットウィンドウを作成して使用しているという話があり、便利そうなので試作してみました。

Unity SYNC.png

ソースコード

今回ウィンドウの作成はIMGUI、各機能の呼び出しはEditorApplication.ExecuteMenuItemを利用しました。
それぞれの解説は様々なところでされているので今回は省略します。

とりあえずエディターの再生およびProject Settings、Build Settingsを開けるようにしてみます。

ShortcutWindow.cs
using UnityEngine;
using UnityEditor;

public class ShortcutWindow : EditorWindow
{
    [MenuItem("Window/Shortcut")]
    static void Init()
    {
        ShortcutWindow window = (ShortcutWindow)EditorWindow.GetWindow<ShortcutWindow>("ショートカット");
        window.Show();
    }

    void OnGUI()
    {
		if( GUI.Button ( new Rect( 0.0f, 20.0f, 300.0f, 20.0f), "Play") ){
			EditorApplication.ExecuteMenuItem("Edit/Play");
		}

        if( GUI.Button ( new Rect( 0.0f, 60.0f, 300.0f, 20.0f), "Project Settings") ){
			EditorApplication.ExecuteMenuItem("Edit/Project Settings...");
		}

        if( GUI.Button ( new Rect( 0.0f, 100.0f, 300.0f, 20.0f), "Build Settings") ){
			EditorApplication.ExecuteMenuItem("File/Build Settings...");
		}
    }
}

Window→Shortcutを押すと、「ショートカット」ウィンドウが表示されます。
また、それぞれのボタンを押すことでエディターが再生されたりウィンドウが開いたりします。
Unity01.gif

また、ゲーム開発などで頻繁に使うプロジェクト専用のデバッグ機能をショートカットウィンドウに登録しておくのも良いかもしれません。
適当なデバッグ機能もどきを追加してボタンを押すたびにフラグを反転させるようにしてみます。

DebugTest.cs
using UnityEngine;


public static class DebugInfo
{
    public static bool m_enable = false;
}

public class DebugTest : MonoBehaviour
{
    void Update()
    {
        if(DebugInfo.m_enable)
        {
            Debug.Log("有効");
        }
        else{
            Debug.Log("無効");
        }
    }
}
ShortcutWindow.cs
void OnGUI()
{
    if( GUI.Button ( new Rect( 0.0f, 140.0f, 300.0f, 20.0f), "Debug Test") ){
        DebugInfo.m_enable = !DebugInfo.m_enable;
    }
}

ボタンを押すたびにConsoleの表示が切り替わっているかと思います。
Unity02.gif

まとめ

今回はUnity SYNCの公演を基に自分なりのショートカットウィンドウを作ってみました。
ウィンドウの作成にIMGUIを使いましたが、UIElementsを使えばより細かく設定できるのでそちらで作ってみるのも良いかもしれませんね。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?