{"id":13661407,"url":"https://github.com/baba-s/uni-debug-menu","last_synced_at":"2025-06-20T21:36:02.869Z","repository":{"id":110295035,"uuid":"176194639","full_name":"baba-s/uni-debug-menu","owner":"baba-s","description":"横向きかつクリックやタップ可能なゲームで使用できるカスタマイズ可能なデバッグメニュー","archived":false,"fork":false,"pushed_at":"2019-03-26T09:23:21.000Z","size":4806,"stargazers_count":24,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-12T02:54:37.060Z","etag":null,"topics":["kogane-unity-lib","unity","unity3d"],"latest_commit_sha":null,"homepage":"http://baba-s.hatenablog.com/entry/2019/03/19/090000","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baba-s.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-03-18T03:02:42.000Z","updated_at":"2024-11-11T10:25:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"aaf10aad-e111-4161-a5c3-81a2bd3064f3","html_url":"https://github.com/baba-s/uni-debug-menu","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/baba-s/uni-debug-menu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baba-s%2Funi-debug-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baba-s%2Funi-debug-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baba-s%2Funi-debug-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baba-s%2Funi-debug-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baba-s","download_url":"https://codeload.github.com/baba-s/uni-debug-menu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baba-s%2Funi-debug-menu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261020856,"owners_count":23098233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kogane-unity-lib","unity","unity3d"],"created_at":"2024-08-02T05:01:34.103Z","updated_at":"2025-06-20T21:35:57.856Z","avatar_url":"https://github.com/baba-s.png","language":"C#","readme":"# UniDebugMenu\n\n横向きかつクリックやタップ可能なゲームで使用できるカスタマイズ可能なデバッグメニュー  \n\n[![](https://img.shields.io/github/release/baba-s/uni-debug-menu.svg?label=latest%20version)](https://github.com/baba-s/uni-debug-menu/releases)\n[![](https://img.shields.io/github/release-date/baba-s/uni-debug-menu.svg)](https://github.com/baba-s/uni-debug-menu/releases)\n![](https://img.shields.io/badge/Unity-2018.3%2B-red.svg)\n![](https://img.shields.io/badge/.NET-4.x-orange.svg)\n[![](https://img.shields.io/github/license/baba-s/uni-debug-menu.svg)](https://github.com/baba-s/uni-debug-menu/blob/master/LICENSE)\n\n## 機能\n\n- 3種類のメニュー表示を使用可能\n\t- テキスト表示\n\t- ボタン表示\n\t- カスタマイズ可能なボタン表示\n- 大量のデータを実装可能\n- 多階層のメニューを実装可能\n- 検索可能\n- カテゴリ分け可能\n- トースト表示\n- イベント検知\n- ドラッグ可能な開くボタン\n- どこからでも開ける\n- 複数解像度対応\n\n## バージョン\n\n- Unity 2018.3.7f1\n\n## サンプル\n\n### トップ画面\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121622.png)\n\n### システム情報\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121129.png)\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121138.png)\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121145.png)\n\n### システムコマンド\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121153.png)\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121201.png)\n\n### ゲームオブジェクト一覧\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121208.png)\n\n### ログ情報\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121215.png)\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121224.png)\n\n## 3種類のメニュー表示を使用可能\n\n### テキスト表示\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121129.png)\n\n### ボタン表示\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121245.png)\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121252.png)\n\n### カスタマイズ可能なボタン表示\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121153.png)\n\n## 大量のデータを実装可能\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121306.gif)\n\n## 多階層のメニューを実装可能\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318121326.gif)\n\n## 検索可能\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318122249.gif)\n\n## カテゴリ分け可能\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318122302.gif)\n\n## トースト表示\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318122324.gif)\n\n## ドラッグ可能な開くボタン\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318122400.gif)\n\n## どこからでも開ける\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318122651.gif)\n\n## 複数解像度対応\n\n### 18:9\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318122531.png)\n\n### 4:3\n\n![](https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20190318/20190318122547.png)\n\n## 使い方\n\n- 「Assets/UniDebugMenu/Example」に含まれているシーンやスクリプトを  \n参考にしていただければと思います  \n\n### デバッグメニューを呼び出すサンプル\n\n```cs\nusing UnityEngine;\nusing UnityEngine.SceneManagement;\n\nnamespace UniDebugMenu.Example\n{\n    /// \u003csummary\u003e\n    /// デバッグメニューのサンプルを管理するクラス\n    /// \u003c/summary\u003e\n    public sealed class UniDebugMenuExampleScene : MonoBehaviour\n    {\n        //==============================================================================\n        // 変数\n        //==============================================================================\n        private ExampleTopListCreator m_creator;\n\n        //==============================================================================\n        // 関数\n        //==============================================================================\n        /// \u003csummary\u003e\n        /// 初期化される時に呼び出されます\n        /// \u003c/summary\u003e\n        private void Awake()\n        {\n            // デバッグメニューのトップ画面のリストを管理するインスタンスを作成します\n            m_creator = new ExampleTopListCreator();\n            m_creator.Init();\n\n            // デバッグメニューのシーンを加算で読み込みます\n            SceneManager.LoadScene( \"UniDebugMenuScene\", LoadSceneMode.Additive );\n\n            // デバッグメニューでコマンドが実行された時に呼び出されます\n            UniDebugMenuScene.mOnChange += () =\u003e Debug.Log( \"UniDebugMenuScene.mOnChange\" );\n\n            // DM ボタンが押された時にデバッグメニューのトップ画面を開くように設定します\n            UniDebugMenuScene.mOnOpen += () =\u003e DMType.BUTTON_COL_3.Open( m_creator );\n        }\n\n        /// \u003csummary\u003e\n        /// デバッグメニューを開くボタンが押された\n        /// \u003c/summary\u003e\n        public void OnClick1()\n        {\n            // デバッグメニューのトップ画面を開きます\n            DMType.BUTTON_COL_3.Open( m_creator );\n        }\n\n        /// \u003csummary\u003e\n        /// システムコマンドの画面を開くボタンが押された\n        /// \u003c/summary\u003e\n        public void OnClick2()\n        {\n            // デバッグメニューのシステムコマンドの画面を開きます\n            DMType.COMMAND_TAB_6.Open( new SystemCommandListCreator() );\n        }\n\n        /// \u003csummary\u003e\n        /// デバッグメニューを開く DM ボタンを透明にするボタンが押された\n        /// \u003c/summary\u003e\n        public void OnClick3()\n        {\n            // DM ボタンを透明にします\n            // DM ボタンは透明になるだけで当たり判定は有効のままになります\n            // true：不透明　false：透明\n            UniDebugMenuScene.SetOpenButtonVisible( false );\n        }\n\n        /// \u003csummary\u003e\n        /// デバッグメニューを削除するボタンが押された\n        /// \u003c/summary\u003e\n        public void OnClick4()\n        {\n            // デバッグメニューのゲームオブジェクトを削除します\n            if ( UniDebugMenuScene.Destroy() )\n            {\n                // デバッグメニューのゲームオブジェクトが削除できた場合は\n                // デバッグメニューのシーンもアンロードします\n                SceneManager.UnloadSceneAsync( \"UniDebugMenuScene\" );\n            }\n        }\n    }\n}\n```\n\n### リストを作成するサンプル\n\n```cs\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing UnityEngine;\n\nnamespace UniDebugMenu.Example\n{\n    /// \u003csummary\u003e\n    /// デバッグメニューのトップ画面のリストを作成するクラス\n    /// \u003c/summary\u003e\n    [Serializable]\n    public sealed class ExampleTopListCreator : ListCreatorBase\u003cActionData\u003e, IDisposable\n    {\n        //==============================================================================\n        // 変数(readonly)\n        //==============================================================================\n        private readonly ActionData[] m_sourceList;\n\n        // ログ情報のリストを作成するインスタンス\n        private readonly LogListCreator m_logDataCreator = new LogListCreator( 1500 );\n\n        //==============================================================================\n        // 変数\n        //==============================================================================\n        private IList\u003cActionData\u003e m_list;\n\n        //==============================================================================\n        // プロパティ\n        //==============================================================================\n        public override int Count =\u003e m_list.Count;\n\n        public override ActionData[] OptionActionList =\u003e new []\n        {\n            new ActionData( \"ボタン1\"   , () =\u003e Debug.Log( \"ボタン1が押されました\" ) ),\n            new ActionData( \"ボタン2\"   , () =\u003e Debug.Log( \"ボタン2が押されました\" ) ),\n            new ActionData( \"ボタン3\"   , () =\u003e Debug.Log( \"ボタン3が押されました\" ) ),\n            new ActionData( \"ボタン4\"   , () =\u003e Debug.Log( \"ボタン4が押されました\" ) ),\n            new ActionData( \"ボタン5\"   , () =\u003e Debug.Log( \"ボタン5が押されました\" ) ),\n        };\n\n        //==============================================================================\n        // 関数\n        //==============================================================================\n        /// \u003csummary\u003e\n        /// コンストラクタ\n        /// \u003c/summary\u003e\n        public ExampleTopListCreator()\n        {\n            m_sourceList = new []\n            {\n                new ActionData( \"テキスト表示サンプル\"      , () =\u003e OpenAdd( DMType.TEXT_TAB_6      , new TextListCreatorExample() ) ),\n                new ActionData( \"ボタン表示サンプル 2列\"    , () =\u003e OpenAdd( DMType.BUTTON_COL_2    , new TextListCreatorExample() ) ),\n                new ActionData( \"ボタン表示サンプル 3列\"    , () =\u003e OpenAdd( DMType.BUTTON_COL_3    , new TextListCreatorExample() ) ),\n                new ActionData( \"システム情報\"              , () =\u003e OpenAdd( DMType.TEXT_TAB_6      , new SystemInfoListCreator() ) ),\n                new ActionData( \"システムコマンド\"          , () =\u003e OpenAdd( DMType.COMMAND_TAB_6   , new SystemCommandListCreator() ) ),\n                new ActionData( \"ゲームオブジェクト一覧\"    , () =\u003e OpenAdd( DMType.COMMAND_TAB_6   , new GameObjectListCreator() ) ),\n                new ActionData( \"ログ情報\"                  , () =\u003e OpenAdd( DMType.TEXT_TAB_6      , m_logDataCreator ) ),\n            };\n        }\n\n        /// \u003csummary\u003e\n        /// 初期化します\n        /// \u003c/summary\u003e\n        public void Init() =\u003e m_logDataCreator.Init();\n\n        /// \u003csummary\u003e\n        /// 破棄します\n        /// \u003c/summary\u003e\n        public void Dispose() =\u003e m_logDataCreator.Dispose();\n\n        /// \u003csummary\u003e\n        /// リストの表示に使用するデータを作成します\n        /// \u003c/summary\u003e\n        protected override void DoCreate( ListCreateData data )\n        {\n            m_list = m_sourceList\n                .Where( c =\u003e data.IsMatch( c.m_text ) )\n                .ToArray()\n                .ReverseIf( data.IsReverse )\n            ;\n        }\n\n        /// \u003csummary\u003e\n        /// 指定されたインデックスの要素の表示に使用するデータを返します\n        /// \u003c/summary\u003e\n        protected override ActionData DoGetElemData( int index ) =\u003e m_list.ElementAtOrDefault( index );\n    }\n}\n```\n\n## ライセンス\n\n- このリポジトリは下記のアセットを使用させていただいております  \n\t- [Unity_UI_Samples](https://github.com/tsubaki/Unity_UI_Samples)  \n\t- [Rounded Mgen+](http://jikasei.me/font/rounded-mgenplus/)\n","funding_links":[],"categories":["Script Debug","C\\#"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaba-s%2Funi-debug-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaba-s%2Funi-debug-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaba-s%2Funi-debug-menu/lists"}