Getting Started
Welcome to UniqueUI, a lightweight and modular user interface system for GameMaker, designed to make complex layouts and interactions simple, efficient, and expressive.
UniqueUI provides a flexible node-based architecture, where each UiNode controls its layout, style, and events. You can compose reusable components, manage event propagation, and apply styles declaratively - all within native GML.
Under the hood, UniqueUI leverages GameMaker's built-in flexpanel functions to handle automatic layout and alignment, combining native performance with a higher-level, object-oriented API.
Whether you're building in-game editors, debug tools, or dynamic menus, UniqueUI gives you full control over structure, appearance, and performance.
π§ Requirementsβ
- GameMaker Studio 2 (latest LTS or IDE version recommended)
π¦ Installationβ
- Download or copy the UniqueUI files from the Github Repository.
- Import the
uui.yympsfile by dragging it into your GameMaker project. - Youβre ready to start building your UI system!
π Your First UIβ
Hereβs a simple example that creates a text label inside a panel using UniqueUI:
// Create and initialize the root UI
global.UI = new UiRoot();
// Create a button
var btn = new UiButton("Click Me");
btn.onClick(function() {
show_debug_message("Button clicked!");
});
// Add the button to the root
global.UI.add(btn);
// In Step event:
global.UI.update();
// In Draw GUI event:
global.UI.draw();
This creates a simple, dynamic UI structure directly from code β no external layout tools required.