thomasbergersen / RosettaUI

Code-based GUI library for development menus for Unity

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RosettaUI

Code-based GUI library for development menus for Unity

public class ExampleSimple : MonoBehaviour
{
    public string stringValue;
    public float floatValue;
    public int intValue;
    public Color colorValue;

    
    void Start()
    {
        var root = GetComponent<RosettaUIRoot>();
        root.Build(CreateElement());
    }

    Element CreateElement()
    {
        return UI.Window(nameof(ExampleSimple),
            UI.Page(
                UI.Field(() => stringValue),
                UI.Slider(() => floatValue),
                UI.Row(
                    UI.Field(() => intValue),
                    UI.Button("+", () => intValue++),
                    UI.Button("-", () => intValue--)
                ),
                UI.Field(() => colorValue)
            )
        );
    }
}

Installation

This package uses the scoped registry feature to resolve package dependencies.

Edit > ProjectSettings... > Package Manager > Scoped Registries

Enter the following and click the Save button.

"name": "fuqunaga",
"url": "https://registry.npmjs.com",
"scopes": [ "ga.fuquna" ]

Window > Package Manager

Select MyRegistries in Packages:

Select RosettaUI - UI ToolKit and click the Install button

How to use

  1. Put Packages/RosettaUI - UIToolkit/RosettaUIRootUIToolkit.prefab in the Hierarychy
  2. Write code to generate Element instance
  3. Call RosettaUIRoot.Build(Element) to generate the actual UI ( Example )

Examples are available in this repository. I recommend downloading and checking it out.

Functions

UI.Field()

UI.Slider()

UI.MinMaxSlider()

Layout elements

And more

Please check the Examples

About

Code-based GUI library for development menus for Unity

License:MIT License


Languages

Language:C# 83.1%Language:ShaderLab 14.5%Language:HLSL 2.5%