{"id":17151199,"url":"https://github.com/fuqunaga/rosettaui","last_synced_at":"2025-05-15T04:07:00.082Z","repository":{"id":38037217,"uuid":"398150228","full_name":"fuqunaga/RosettaUI","owner":"fuqunaga","description":"Code-based UI library for development menus for Unity","archived":false,"fork":false,"pushed_at":"2025-04-11T06:09:54.000Z","size":53719,"stargazers_count":432,"open_issues_count":5,"forks_count":26,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-04-14T06:49:39.435Z","etag":null,"topics":["debug","development","menu","ui","uitoolkit","unity"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fuqunaga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"fuqunaga"}},"created_at":"2021-08-20T04:03:49.000Z","updated_at":"2025-04-10T16:24:36.000Z","dependencies_parsed_at":"2024-06-19T05:21:47.884Z","dependency_job_id":"e670c9ee-8720-4f5a-bdac-9e2d6f8987e7","html_url":"https://github.com/fuqunaga/RosettaUI","commit_stats":{"total_commits":641,"total_committers":4,"mean_commits":160.25,"dds":0.03120124804992197,"last_synced_commit":"8381db5c4c0bfecacc8ddb1657ac026e569dedcf"},"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuqunaga%2FRosettaUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuqunaga%2FRosettaUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuqunaga%2FRosettaUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuqunaga%2FRosettaUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fuqunaga","download_url":"https://codeload.github.com/fuqunaga/RosettaUI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270646,"owners_count":22042859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debug","development","menu","ui","uitoolkit","unity"],"created_at":"2024-10-14T21:37:29.603Z","updated_at":"2025-05-15T04:06:55.071Z","avatar_url":"https://github.com/fuqunaga.png","language":"C#","funding_links":["https://github.com/sponsors/fuqunaga"],"categories":[],"sub_categories":[],"readme":"# RosettaUI\n\n[![npm version](https://badge.fury.io/js/ga.fuquna.rosettaui.svg)](https://badge.fury.io/js/ga.fuquna.rosettaui)\n[![openupm](https://img.shields.io/npm/v/ga.fuquna.rosettaui?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/ga.fuquna.rosettaui/)\n\nCode-based UI library for development menu for Unity\n\n![](Documentation~/2023-01-25-15-48-22.png)\n\n\n\n\n```csharp\npublic class ExampleSimple : MonoBehaviour\n{\n    public string stringValue;\n    public float floatValue;\n    public int intValue;\n    public Color colorValue;\n\n    \n    void Start()\n    {\n        var root = GetComponent\u003cRosettaUIRoot\u003e();\n        root.Build(CreateElement());\n    }\n\n    Element CreateElement()\n    {\n        return UI.Window(nameof(ExampleSimple),\n            UI.Page(\n                UI.Field(() =\u003e stringValue),\n                UI.Slider(() =\u003e floatValue),\n                UI.Row(\n                    UI.Field(() =\u003e intValue),\n                    UI.Button(\"+\", () =\u003e intValue++),\n                    UI.Button(\"-\", () =\u003e intValue--)\n                ),\n                UI.Field(() =\u003e colorValue)\n            )\n        );\n    }\n}\n```\n\u003cimg src=Documentation~/simple.gif width=500px /\u003e\n\n# Installation\n\nThis package uses the [scoped registry] feature to resolve package\ndependencies. \n\n[scoped registry]: https://docs.unity3d.com/Manual/upm-scoped.html\n\n\n**Edit \u003e ProjectSettings... \u003e Package Manager \u003e Scoped Registries**\n\nEnter the following and click the Save button.\n\n```\n\"name\": \"fuqunaga\",\n\"url\": \"https://registry.npmjs.com\",\n\"scopes\": [ \"ga.fuquna\" ]\n```\n![](Documentation~/2022-04-12-17-29-38.png)\n\n\n**Window \u003e Package Manager**\n\nSelect `MyRegistries` in `Packages:`\n\n\u003cimg src=\"Documentation~/2022-04-12-17-40-26.png\" width=35%\u003e\n\nSelect `RosettaUI - UI ToolKit` and click the Install button\n![](Documentation~/2022-04-12-18-04-29.png)\n\n\n### Input System(optional)\n\nRosettaUI recommends using Input System.  \nSee [Tips](#disable-keyboard-input-when-typing-in-ui).\n\nInstall according to the official documentation.  \nhttps://docs.unity3d.com/Packages/com.unity.inputsystem@1.5/manual/Installation.html\n\n# How to use\n\n1. Put `Packages/RosettaUI - UIToolkit/RosettaUIRootUIToolkit.prefab` in the Hierarchy\n1. Write code to generate `Element` instance\n1. Call `RosettaUIRoot.Build(Element)` to generate the actual UI ( [Example] )\n\n[Example]: Assets/Example/ExampleSimple.cs\n\nExamples are available in this repository.\nI recommend downloading and checking it out.\n\n\n# Functions\n\n## UI.Field()\n\n![](Documentation~/field.gif)\n![](Documentation~/2023-01-25-16-36-00.png)\n\n\n\n## UI.Slider()\n\n![](Documentation~/2023-01-25-16-41-59.png)\n![](Documentation~/2023-01-25-16-56-56.png)\n\n\n## UI.MinMaxSlider()\n\n![](Documentation~/2023-01-25-17-05-28.png)\n![](Documentation~/2023-01-25-17-07-45.png)\n\n## UI.List()\n\n![](Documentation~/2023-01-25-17-11-06.png)\n![](Documentation~/2023-01-25-17-25-46.png)\n\n## Layout elements\n\n\n![](Documentation~/2023-01-25-17-26-32.png)\n![](Documentation~/2023-01-25-17-27-30.png)\n\n\n## And more!\nPlease check the [Examples](Assets/Scenes)\n\n# Enviroment\n\n| Platform | Support           |\n| -------- | ----------------- |\n| Windows  | ✔                 |\n| Mac      | Maybe(not tested) |\n| Linux    | Maybe(not tested) |\n| IL2CPP   | Suspended         |\n\n| UI Library | Support      |\n| ---------- | ----------- |\n| UI Toolkit | ✔           |\n| UGUI       | Suspended   |\n| IMGUI      | Not planned |\n\n\n# Tips\n\n## Disable keyboard input when typing in UI\n\nWhen using InputSystem, set `RosettaUIRoot.disableKeyboardInputWhileUITyping=true (default)` to disable keyboard input while typing in UI.\n```csharp\n// false while typing in UI\nif ( Keyboard.current[Key.A].wasPressedThisFrame )\n{\n    // do something\n}\n```\n\nFor LegacyInputSystem, refer to `RosettaUIRoot.WillUseKeyInputAny()`.\n```csharp\nif ( !RosettaUIRoot.WillUseKeyInputAny() \u0026\u0026 Input.GetKeyDown(KeyCode.A) )\n{\n    // do something\n}\n```\n\n\n# See also\n\n[PrefsGUI](https://github.com/fuqunaga/PrefsGUI) - Accessors and GUIs for persistent preference values using a JSON file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuqunaga%2Frosettaui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffuqunaga%2Frosettaui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuqunaga%2Frosettaui/lists"}