Welcome to GML+ - Essential Extensions for the Way You Work

img-lightimg-dark

At XGASOFT, we love GML! The GameMaker Markup Language is both easy for beginners and powerful for veterans. It's like eating your cake and having it too. And over more than 20 years of development, it's only gotten better and better. But 20 years of organic growth can leave a few holes behind.

Unified. Simplified. Amplified.#

That's where GML+ comes in: GML+ is a collection of useful functions and built-in variables designed to fill the gaps in vanilla GML and supplement it with quality-of-life enhancements it should've had all along.

Like GML itself, GML+ is not set in stone and will continue to grow with its parent language. What's more, most GML+ functions come with few external dependencies. You can pick-and-choose only the functions you need for your project. Now that's the best of both worlds!

Once you go GML+, you won't want to go back!

It features...#

  • Automatic integration into your project--just import and start using it!
  • Additional language features, such as:
    • Universal data functions like foreach and is_empty
  • Built-in variables and macros, such as:
    • Extended mouse variables, unifying behavior with instances
    • Extended instance properties, creating new possibilities for game design
    • Frametime constants (easy delta_time)
  • Dozens of useful functions you always wished were part of vanilla GML, such as:
    • Extended array functions, unifying behavior with data structures
    • Extended data structure functions, unifying behavior among different types
    • Extended sprite functions, unifying behavior with new GMS2 features
    • Extended angle functions for trigonometry (robust lengthdir), reflections, and more
    • Interpolation with easing (robust lerp), including custom bezier and user-generated curves
    • Filesystem functions (robust file_find_*)
    • Timer functions (robust alarm)
    • String manipulation functions
    • Recursive struct functions
    • Even/odd number functions
    • Hex color functions
  • ... And more! See the complete documentation for details!

To get started, choose a topic from the navigation menu to learn more.