Skip to content

Unity OnGUI(IMGUI) extensions for Rapid prototyping/development

License

Notifications You must be signed in to change notification settings

fuqunaga/RapidGUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7dc4756 · Mar 10, 2023
Apr 21, 2022
Dec 5, 2019
May 1, 2020
Jun 3, 2022
Jun 27, 2018
Jun 22, 2021
Dec 5, 2019
Nov 7, 2019
Dec 5, 2019
Dec 5, 2019
Feb 25, 2020
Dec 3, 2019
Dec 5, 2019
Mar 10, 2023
Nov 7, 2019

Repository files navigation

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<T>

RGUI.SelectionPopup()

fold

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

RapidGUI.Fold / Folds

fold

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

RapidGUI.WindowLauncher / WindowLaunchers

windowLauncher

// 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