Unity OnGUI(IMGUI) extensions for Rapid prototyping/development

Overview

RapidGUI

openupm

Unity IMGUI extensions for Rapid prototyping/development.

rapidgui

Installation

Install via OpenUPM

The package is available on the openupm registry. It's recommended to install it via openupm-cli.

openupm add ga.fuquna.rapidgui

Install via git URL

Add following lines to the dependencies section of the Packages/manifest.json.

"ga.fuquna.rapidgui": "https://github.com/fuqunaga/RapidGUI.git"

Install via traditional .unitypackage

Download a .unitypackage file from the Release page.

Getting Started

  • Open and checkout the RapidGUI/Example/RapidGUIExample.unity
  • see also the usage from the script below RapidGUI/Example/Scripts/

Functions

RGUI.Field()

field

value = RGUI.Field(value, label);
  • Display standard GUI according to type of value
  • Right-drag label to edit numbers
  • Color picker
  • Array/List has a right-click menu like inspector
  • Supports custom class

CustomClass

fieldCustomClass

public class CustomClass
{
    public int publicField;

    [SerializeField]
    protected int serializeField;

    [NonSerialized]
    public int nonSerializedField;

    [Range(0f, 10f)]
    public float rangeVal;

    public string longNameFieldWillBeMultiLine;
}
customClass = RGUI.Field(customClass, nameof(customClass));

RGUI.Slider()

Slider

value = RGUI.Slider(value, min, max, label);
  • Display slider GUI according to type of numbers

RGUI.MinMaxSlider()

MinMaxSlider

RGUI.MinMaxSlider(minMaxVal, minMaxRange, label);
RGUI.MinMaxSlider(ref floatMin, ref floatMax, rangeMin, rangeMax, label);
  • Display min max slider GUI according to type of numbers
  • RapidGUI defines some basic MinMax type(MinMaxInt,MinMaxFloat,MinMaxVector2...)
  • You can also create your own MinMax type by inheriting MinMax

RGUI.SelectionPopup()

fold

selectionPopupIdx = RGUI.SelectionPopup(selectionPopupIdx, new[] { "One", "Two", "Three" });
selectionPopupStr = RGUI.SelectionPopup(selectionPopupStr, new[] { "One", "Two", "Three" });

RapidGUI.Fold / Folds

fold

GUILayout.Label("Added function"));">
// Initialize
fold = new Fold("Fold");
fold.Add(() => GUILayout.Label("Added function"));
fold.DoGUI();

RapidGUI.WindowLauncher / WindowLaunchers

windowLauncher

GUILayout.Label("Added function"));">
// Initialize
launcher = new WindowLauncher("WindowLauncher");
launcher.Add(() => GUILayout.Label("Added function"));
launcher.DoGUI();
  • Toggle open/close window
  • Resizable
  • Has a close button

windowLaunchers

  • WindowLaunchers automatically adjusts the layout when opening a window

And more!!!

Please check the usage from the script below RapidGUI/Example/Scripts/

Tips

A "RapidGUI" object appears in the hierarchy

RapidGUIBehaviour the object is a RapidGUI settings and update hooks. If not in the scene, it will be generated automatically.

Save/Load parameters

See PrefsGUI

Reference

Issues
  • Window?

    Window?

    Hi, I went through all examples but I am still not sure how to just create a window with a Fields in it. I want the window to be just visible immediately and not launcher through WindowLauncher

    opened by slimshader 1
  • Update docs for OpenUPM

    Update docs for OpenUPM

    Hi @fuqunaga,

    Thanks for contributing for the OpenUPM platform. I prepared a doc update in https://github.com/fuqunaga/RapidGUI/pull/11, adding installation options and a badge. Please consider to merge.

    opened by favoyang 0
Releases(release/1.2.1)
Owner
Game/InteractiveArt programmer
null
Dear ImGui prototyping wrapper.

LabImGui Prototyping framework LabImGui wraps up creating a window, GL bindings, and a full screen docking set up with ImGui so that all of the boiler

Nick Porcino 2 Dec 2, 2021
Simple ImGui external base. Uses ImGui DX9.

ImGui External Base ??️ What is this? ⚡ Hello all! I used to use noteffex's loader base for all my external ImGui projects. I got bored of using this

Alfie 11 Jun 29, 2022
imgui-filebrowser is a header-only file browser implementation for dear-imgui. C++ 17 is required.

imgui-filebrowser imgui-filebrowser is a header-only file browser implementation for dear-imgui. C++ 17 is required. Getting Started imfilebrowser.h s

Z Guan 382 Aug 1, 2022
An addon of imgui for supporting docks in the imgui's window

An addon of imgui for support dock in the window

BB 197 Aug 3, 2022
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

Dear ImGui (This library is available under a free and permissive license, but needs financial support to sustain its continued improvements. In addit

omar 40.3k Aug 5, 2022
Advanced 2D Plotting for Dear ImGui

ImPlot ImPlot is an immediate mode, GPU accelerated plotting library for Dear ImGui. It aims to provide a first-class API that ImGui fans will love. I

Evan Pezent 2.5k Aug 8, 2022
CMakeLists wrapper around imgui

ImGui Wrappings This is a trifold wrapper for the Dear ImGui library. Ease integration with CMake, Provide an RAII mechanism for ImGui scopes, Provide

Oliver Smith 29 Jul 20, 2022
super duper simple gui for C, wrapping imgui and stb

super duper simle gui for C, wrapping imgui and stb You can use it as a static library with cmake. See the example directory for a complete example. E

Rasmus 11 May 19, 2022
Real-time GUI layout creator/editor for Dear ImGui

ImStudio Real-time GUI layout creator/editor for Dear ImGui Inspired by Code-Building/ImGuiBuilder Features Drag edit Property edit Covers most of the

null 229 Aug 3, 2022
KeyAuth login form made with ImGui.

KeyAuth-ImGui-Example KeyAuth ImGui Example Download Repository Download the DirectX SDK

Lolys 18 Jul 11, 2022
An integrated information center created with dear ImGui using modern C++ design / coding style.

ImGui info-center Introduction An integrated notification and information center created with dear ImGui. Interfaces and variables are designed under

Feej 6 Jul 20, 2022
ImGuiBase - A very good & simple external ImGui base

ImGuiBase Join CProject to learn about ImGui! https://discord.gg/dnkdDuUtQu Check out our website: https://cproject.xyz Check out the youtube tutorial

null 17 Jul 17, 2022
Addon widgets for GUI library Dear ImGui.

ImGui-Addons Addon widgets for GUI library Dear ImGui. File Dialog A simple cross-platform file dialog that uses dirent interface for reading director

null 252 Aug 8, 2022
This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI

ImGui Goodies This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI. Currently, th

null 95 Jun 22, 2022
This is a software renderer for Dear ImGui. I built it not out of a specific need, but because it was fun

Dear ImGui software renderer This is a software renderer for Dear ImGui. I built it not out of a specific need, but because it was fun. The goal was t

Emil Ernerfeldt 199 Jul 2, 2022
glw_imgui - C++ IMGUI implementation

glw_imgui - C++ IMGUI implementation Immediate Mode UI C++ implementation. IMGUI is a code-driven, simple and bloat-free GUI system, widely used in mo

null 51 Feb 8, 2022
A permissively licensed markdown single-header library for Dear ImGui.

Support development of imgui_markdown through GitHub Sponsors or Patreon imgui_markdown Markdown For Dear ImGui A permissively licensed markdown singl

Juliette Foucaut 796 Jul 28, 2022
Window and GUI system based on Dear ImGui from OCornut

ImWindow Window and GUI system based on ImGui from OCornut. Include docking/floating window, multi window and multi render support. Platform Actually

Thibault Hennequin 687 Aug 2, 2022
Nice things to use along dear imgui

Mini hexadecimal editor! Right-click for option menu. Features: Keyboard controls. Read-only mode. Optional Ascii display. Optional HexII display. Goto address. Highlight range/function. Read/Write handlers.

omar 624 Aug 7, 2022