All Projects → the-mr-matt → Debuguisystem

the-mr-matt / Debuguisystem

Create a runtime menu system with buttons and windows for debugging in one line of code.

Projects that are alternatives of or similar to Debuguisystem

lime
A library for drawing graphics on the console screen
Stars: ✭ 32 (-33.33%)
Mutual labels:  console, window
debug.js
Debugger of JavaScript, by JavaScript, for JavaScript
Stars: ✭ 19 (-60.42%)
Mutual labels:  console, debug
consono
The most correct, informative, appealing and configurable variable inspector for JavaScript
Stars: ✭ 17 (-64.58%)
Mutual labels:  console, debug
SanSessionToolbar
⚡ Session Toolbar that can be applied into Zend/Laminas DeveloperTools
Stars: ✭ 39 (-18.75%)
Mutual labels:  toolbar, debug
Beagle
A smart, reliable, and highly customizable debug menu library for Android apps that supports screen recording, network activity logging, and many other useful features.
Stars: ✭ 287 (+497.92%)
Mutual labels:  debug, menu
finch
🖥 Debug menu library for Android apps with supports network activity logging and many other useful features.
Stars: ✭ 42 (-12.5%)
Mutual labels:  menu, debug
symfony-debug-toolbar-git
Get the latest Git commit information into Symfony debug toolbar
Stars: ✭ 30 (-37.5%)
Mutual labels:  toolbar, debug
Utinyripper
GUI and API library to work with Engine assets, serialized and bundle files
Stars: ✭ 1,871 (+3797.92%)
Mutual labels:  unity, debug
jsPanel3
A jQuery Plugin to create highly configurable floating panels, modals, tooltips, hints/notifiers or contextmenus for use in a backend solution and other web applications.
Stars: ✭ 89 (+85.42%)
Mutual labels:  panel, window
ddquery
Django Debug Query (ddquery) beautiful colored SQL statements for logging
Stars: ✭ 25 (-47.92%)
Mutual labels:  console, debug
Webpack Format Messages
Beautiful formatting for Webpack messages; ported from Create React App!
Stars: ✭ 103 (+114.58%)
Mutual labels:  console, stats
Consolation
In-game debug console for Unity.
Stars: ✭ 489 (+918.75%)
Mutual labels:  console, unity
Window Size
Reliable way to to get the height and width of the terminal/console in a node.js environment.
Stars: ✭ 79 (+64.58%)
Mutual labels:  console, window
mate-tweak
Tweak tool for the MATE Desktop
Stars: ✭ 57 (+18.75%)
Mutual labels:  panel, window
Kinovision
Frame visualization utility for Unity
Stars: ✭ 177 (+268.75%)
Mutual labels:  unity, debug
react-native-panel
A Customizable React Native Panel for Android and iOS
Stars: ✭ 35 (-27.08%)
Mutual labels:  panel, menu
Side Menu.ios
Animated side menu with customizable UI
Stars: ✭ 2,702 (+5529.17%)
Mutual labels:  menu, panel
Electron Tray Window
🖼️ Generates custom tray windows with Electron.js
Stars: ✭ 71 (+47.92%)
Mutual labels:  window, menu
unity-rich-text
🌈 Forget about rich text tags pain
Stars: ✭ 14 (-70.83%)
Mutual labels:  console, debug
Toolbarpanel
Toolbar that can be slided down to show a panel
Stars: ✭ 397 (+727.08%)
Mutual labels:  panel, toolbar

License MIT

Debug UI System

screen

Uses IMGUI to draw a menu system. Add actions and windows to this menu system with a little as one line of code.

Installation

Download the latest Unity package here: https://github.com/the-mr-matt/DebugUISystem/releases

This is not included by default in case you use a different input system.

Usage

See example folder for a demo.

  1. Add the DebugUISystem prefab into your scene.
  2. Call DebugUISystem.RegisterAction or DebugUISystem.RegisterWindow.

To hide the menus, simple disable the DebugUISystem component.

Path

When registering an action or window, you need to pass in a path. Paths are of the following format:

Menu/Sub Menu/Sub Menu 2/Action or Menu/Sub Menu/Sub Menu 2/Window Name

You can add as many windows or actions to a menu or sub menu as you like.

e.g. Diagnostics/Stats/FPS will generate a menu button called Diagnostics, with a sub menu called Stats, with an FPS button.

Actions

Actions are a single button press. Use a lambda or a function as the action. This is called when the button is pressed.

private void Start()
{
    string path = "File/Save";
    DebugUISystem.RegisterAction(path: path, action: () => Debug.Log("Action Called"));
}

Windows

Windows can contain customizable content. Content is drawn using IMGUI -- you are free to draw whatever you want inside the window. GUILayout is recommended for ease of use.

Windows are not resizable.

private void Start()
{
    string path = "File/Save";
    DebugUISystem.RegisterWindow(path: path, defaultSize: new Vector2(250, 400), onDrawWindow: () =>
    {
        GUILayout.BeginHorizontal();
        GUILayout.Button("Left");
        GUILayout.Button("Right");
        GUILayout.EndHorizontal();
    });
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].