GameMaker (2.3)

GMLplus - Essential Extensions


You must be logged in to obtain assets


FULL VERSION: Get the free trial here!

Unified. Simplified. Amplified.

With a history now spanning more than 20 years, GML has come a long way. However, organic growth has left many oddities, inconsistencies, and omissions behind.

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!

Originally included as separate functions in other XGASOFT products, now you can have them all in one convenient package! 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!

For a complete list of features, visit the online documentation!

More info

End User Licence Agreement (EULA).

Age Rating: 4+


GMS2 - Version 1.0.0. Published December 12, 2020

  • Initial release

GMS2.3 - Version 1.1.41. Published December 28, 2021

  • Added collision_line_meeting for identifying exact coordinates of a collision intersection
  • Added ds_struct_equals for recursively comparing contents of structs
  • Added struct support to is_empty
  • Added emod for calculating remainder with Euclidean division (always positive result)
  • Fixed angle_refract clipping mirror angle below 0 degrees
  • Improved instance_link to no longer depend on obj_server_gmlp
  • Improved accuracy of game_get_step when obj_server_gmlp is present
  • Optimized mouse and frame-time constants
  • Optimized game_get_time
  • Deprecated universal image_angle_previous, image_x/yscale_previous for performance reasons, as they are no longer needed for instance_link (see Compatibility Notes)
Privacy Policy
Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait