A UI system for GameMaker by @shdwcat
Writing UI code is annoying and tedious! Why write UI code when you can edit readable text files instead?
- Live Reload while the game is running!
- Flexible and powerful Data Binding and Embedded Scripting system to get your game data into the UI
- Template system lets you design and re-use custom widgets
- UI Animation system - slide/fade/etc! Also supports color curves, animation sequences, and custom effects
- Theme system and widget styles
- Powerful Drag and Drop feature built in (no coding!)
- VS Code syntax highlighting extension: https://marketplace.visualstudio.com/items?itemName=shdwcat.yui-vs-code-support
YUI is confirmed to work on Windows, Mac, and Linux. YUI does not yet work on HTML5 as included file handling needs to be fixed (#72). As far as I know, YUI has not been tested on mobile or consoles, if you want to try it out, please do and let me know if it works! (see Discord link below).
YUI has built-in optional support for the popular Scribble and Input libraries. These are NOT included with YUI by default but can be added for more features.
-
Scribble 8.7.0 - Advanced Text Rendering
YUI is designed to be compatible with Scribble 8.7.0 and future 8.x.x versions, and may be compatible with previous 8.x.x versions.
When Scribble is included in your project, you can set
scribble: true
on atext
element to access standard Scribble text formatting features.See the Scribble documentation for how to set up Scribble and what formatting features are available
-
Input 6.1.5 - Mouse/Keyboard/Gamepad/Touch Support
YUI is designed to be compatible with Input 6.1.5 and future 6.x.x versions, and may be compatible with previous 6.x.x versions.
When Input is included in your project and YUI is configured to use it for navigation, the gamepad will be able to navigate the UI similar to the standard keyboard navigation support. (Touchpad support is untested currently!)
Please see https://github.com/shdwcat/YUI/wiki/Input for how to configure YUI to use Input!
You can either clone the Example Project (this repo) to play around with it, or import the latest package from the Releases page.
Please note that the Wiki is quite out of date (but may still be useful).
Contained in this repo is the YUI Example project. If you clone the repo locally you can run the project to get an idea of what YUI is capable of. The Example Project is still a work in progress, but make sure to check out the Inventory Screen for an example of how to quickly set up drag and drop!
If you need help with anything, please stop by the GameMaker Kitchen discord: https://discord.gg/8krYCqr
YUI has a number of dependencies, which are automatically included in the project.
- Inspectron - runtime instance debug overlays
Credit to @jujuadams:
- Gumshoe - file finder
And @offalynne:
- input-string - text input backend