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

Access the repo


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.1165 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.2Improved 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.12Upgraded 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.7Upgraded to Scribble 9.1
Fixed bug with automatic UI object deployment
2024.6UI 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.1Fixed a bug where children widgets would not scroll in many cases, when scrolling the parent
2023.11Optimizes the way callbacks are handled, which in turn circumvents a Gamemaker bug which prevented directly assigning function names to callbacks
2023.10Fixes 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.1Fixed (hopefully all) invalid reference type errors when using gooey with Gamemaker 2023.8.145 runtime (or later).
2023.8Greatly improved slider feel and usage, added a UISpinner widget, added support for Scribble typists within UIText elements and fixed a few bugs.
0.1 alphagooey Preview version.
Updated 4 days ago
StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(3 total ratings)
Authormanta ray
TagsGameMaker, Graphical User Interface (GUI), User Interface (UI)

Download

Download
gooey 2025.11 - ScribbleDX 9.6.6.yymps 787 kB