
gooey
A downloadable gooey
Welcome to gooey, a sprite-based UI library for Gamemaker 2023+
NEW VERSION!!!
2025.11
WARNING: BREAKING CHANGES VS 2025.2
65+ QUALITY OF LIFE CHANGES, BUG FIXES AND NEW METHODS/FUNCTIONS!
Brand new, huge tutorial, interactive examples and documentation site!
Access the new documentation site here!
Download the latest version
Access the API reference directly
gooey is a small UI library that lets you create menus, HUD and other UI elements in Gamemaker, with a few lines of code, using sprites.
gooey currently supports the following widgets:
- Panels (the containers for everything else)
- Groups (to group stuff together)
- Grids (to layout stuff in Panels or Groups)
- Buttons
- Canvases (surfaces)
- Checkboxes
- Dropdowns
- Option Groups
- Progress Bars
- Sliders
- Sprites
- Tabs (tabbed Panels)
- Text Boxes
- Text (labels)
- Spinners
gooey has the following features:
- Drag and drop setup - see below
- Sprite-based - all widgets work with nine-sliced sprites directly within Gamemaker
- Intuitive code for setting up the UI - focus on the What, not on the How
- Struct based, with a set it and forget it manager object
- Setters/getters for properties
- Fluent interface (i.e. you can chain methods together)
- Kenney's amazing UI asset pack sprites are included for testing
- Text based on JujuAdams's superb Scribble renderer
Changelog
| 2025.11 | 65 fixes and improvements!!! Text system enhancements Added text size getters, improved formatting across states, fixed wrapping/bounding box issues, restored mouseover/click support, and upgraded Scribble/ScribbleDX versions. Cursor and interaction management Introduced centralized cursor handling ( UI_MANAGE_CURSORS, ui_set_cursor), improved cursor feedback for draggable widgets, and added setInteractable.
Rendering, clipping, and scissoring overhaul Multiple fixes and refactors around clipping (grids, text, panels), and use of gpu_set_scissorinstead of surfaces (configurable).
Sprite and image handling improvements Added rotation support, fixed offsets after scaling, extended nine-slice behavior, improved animation controls, and prevented crashes or warnings on invalid states. Grid and layout system extensions Added grid widget add helpers ( addNext, addNextRow), fixed cell clipping behavior, and improved error handling for out-of-bounds access.
Dropdown, option group, and tab fixes Corrected interaction bugs, enabled outside-panel dropdown interaction when unclipped, added dropdown state queries, fixed alignment issues, and introduced a breaking change in tab behavior with follow-up fixes. Panel and title refactor Panel titles were converted into proper UIText elements, enabling clipping and fixing drag issues; panels gained min width/height support and improved tab inheritance behavior.
Binding system revamp Major rework of the binding system, ensuring value change events fire after updates and improving consistency across widgets. Textbox and input improvements Added new textbox methods, fixed rendering issues, relaxed symbol restrictions, and updated default formatting and anchoring. General stability, cleanup, and upgrades Numerous bug fixes, better error messages, lifecycle improvements (destroy callbacks, surface cleanup), demo updates, documentation fixes, and GameMaker version upgrades. |
| 2025.2 | Improved behavior of MOUSE_EXIT event and fixed a bug when destroying widgets in that event (e.g. tooltips) Added a new config value to specify a default anchor point for Widgets, instead of TOP_LEFT (the default before 2025.2) Changed Panel default title anchor point to MIDDLE_CENTER Fixed a typo on getTitleAnchor method Upgraded to ScribbleDX 9.3.5 |
| 2024.12 | Upgraded to ScribbleDX 9.3.4 Added convenience functions for interacting with UI object (i.e. ui_get(), ui_exists()) which safely check and auto-create the UI object if needed Added event drill-through capability per widget and global Added capability via configuration macro to render GUI on Draw GUI End instead of Draw GUI Begin Refactored event code into separate scripts for easier maintenance Fixed some bugs related to the mouse cursor |
| 2024.7 | Upgraded to Scribble 9.1 Fixed bug with automatic UI object deployment |
| 2024.6 | UI manager object is now automagically created; Uses Scribble 9.0.0 beta Fixes bug with REVEAL behavior of progressbars Fixed mouse events working over clipped grids Improved mouse enter/leave cursor behavior |
| 2024.1 | Fixed a bug where children widgets would not scroll in many cases, when scrolling the parent |
| 2023.11 | Optimizes the way callbacks are handled, which in turn circumvents a Gamemaker bug which prevented directly assigning function names to callbacks |
| 2023.10 | Fixes a problem with UIProgressBar widgets set to repeating behavior and adds "click to set" option (instead of "click to modify value") to UISlider widgets |
| 2023.8.1 | Fixed (hopefully all) invalid reference type errors when using gooey with Gamemaker 2023.8.145 runtime (or later). |
| 2023.8 | Greatly improved slider feel and usage, added a UISpinner widget, added support for Scribble typists within UIText elements and fixed a few bugs. |
| 0.1 alpha | gooey Preview version. |
| Updated | 4 days ago |
| Status | Released |
| Category | Tool |
| Rating | Rated 5.0 out of 5 stars (3 total ratings) |
| Author | manta ray |
| Tags | GameMaker, Graphical User Interface (GUI), User Interface (UI) |
Download
Download
gooey 2025.11 - ScribbleDX 9.6.6.yymps 787 kB

