About
It's recommended to restart the editor after installing this library
What's Included 👍
- Screen Space UI with Resolution Scaling
- Image & Text Nodes
- Borders & Rounded Corners
- Input System
- Buttons
- Parent/Child Anchoring, Padding, Clipping, Stretching
What's Planned ⏰
- Edit Mode Preview
- World Space UI
- Sliders, Checkboxes & Toggles
- Input Fields
- Horizontal & Vertical Layouts
- Scroll Views
- Proper documentation
Getting Started 🎯
The fastest way to understand UI Pro is to open the included example scene.
It has a working Canvas, Input System and Button that updates a TextNode when you click it.
Press play, click the button, then inspect how GameObjects and Components are wired together - that's the whole pattern.
The Way It Works ⚙️
Every UI Pro setup has the same layout
Canvas
The renderer and root of your UI. Every UI Node must be a child GameObject of a canvas.
Image & Text Nodes
The visible bits - placed as child GameObjects of a Canvas
then positioned and styled by their various properties in the inspector.
- Note: you should only have one Image/Text Node per GameObject.
Input System
You need only one Input System component somewhere in the scene.
It reads the mouse and dispatches click/hover events. Without it, nothing
is interactive.
- Note: you must enable "Receive Pointer Input" on a Node for buttons etc to work
Behaviour - Buttons
Sits alongside a node and reacts to pointer events. Set its Target to the
node it should recolour on hover/press, and hook up its OnClick.
Creating Your Own Button 🪄
1. Add an InputSystem Component to any GameObject (only one needed).
2. Add a Canvas Component to another GameObject.
3. Under the canvas, add a child GameObject with an ImageNode Component.
Give it a Size in Layout Settings.
4. On that node, tick "Receive Pointer Input" so it can be clicked. (Nodes
are non-interactive by default, so text and decoration don't eat clicks.)
5. On the same GameObject, add a Button Component and set its Target to the
ImageNode. Adjust the Default / Hovered / Pressed tints.
6. (Optional) Subscribe to the buttons OnClick event from another script to make the button do cool stuff
--------------------------------
This is an early release built by one person. Bug reports are hugely appreciated, and if there's a widget you
need that's missing, say so. Real use cases drive what gets built next.