Code-based UI library for development menu 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)
)
);
}
}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

RosettaUI recommends using Input System.
See Tips.
Install according to the official documentation.
https://docs.unity3d.com/Packages/[email protected]/manual/Installation.html
- Put
Packages/RosettaUI - UIToolkit/RosettaUIRootUIToolkit.prefabin the Hierarchy - Write code to generate
Elementinstance - Call
RosettaUIRoot.Build(Element)to generate the actual UI ( Example )
Examples are available in this repository. I recommend downloading and checking it out.
Please check the Examples
| Platform | Support |
|---|---|
| Windows | ✔ |
| Mac | Maybe(not tested) |
| Linux | Maybe(not tested) |
| IL2CPP | Suspended |
| UI Library | Support |
|---|---|
| UI Toolkit | ✔ |
| UGUI | Suspended |
| IMGUI | Not planned |
When using InputSystem, set RosettaUIRoot.disableKeyboardInputWhileUITyping=true (default) to disable keyboard input while typing in UI.
// false while typing in UI
if ( Keyboard.current[Key.A].wasPressedThisFrame )
{
// do something
}For LegacyInputSystem, refer to RosettaUIRoot.WillUseKeyInputAny().
if ( !RosettaUIRoot.WillUseKeyInputAny() && Input.GetKeyDown(KeyCode.A) )
{
// do something
}PrefsGUI - Accessors and GUIs for persistent preference values using a JSON file













