GameMaker Studio 2 (2.3)

Menu and Input System

Milán Várady

You must be logged in to obtain assets


This extension adds a menu and input system to GameMaker Studio 2 version 2.3.1+

With these systems, you can:

  • Create a title and pause menu in no time.
  • Organize multiple inputs like vk_right, ord("D") and gp_padr into a single category/action right
  • And combine these two to create a controls menu based on an input system in one line of code where the player can edit the inputs.

You can buy this extension on as well if you prefer that.

You can create menu pages where you can put different elements like:

  • sliders
  • toggles
  • credits
  • shifts (multi-option select)
  • controls as previously mentioned

And then you can set things according to that.

Additional features of the menu:

  • Automatic sizing - the menu adjusts the size of its elements to your window size
  • Pause system - pause any game with one function
  • Saving and loading - saves the settings and even the controls automatically
  • Easily customizable look

Please note that this menu can only be used with a keyboard or gamepad. Mouse and touch controls are not available.

The input system makes dealing with any type of inputs very easy. Basically, you can organize a bunch of inputs (keyboard, mouse, gamepad) into categories like right or jump. And then check them all in one line.

But it can do much more than that. Here is a list of other things it can do:

  • Checking any type of input with the inputCheck() function
  • Getting the last gamepad input pressed similar to keyboard_key
  • Getting the last input pressed from any type
  • Getting the type of any input
  • Turning an input into a string (good for drawing and debugging)
  • Drawing inputs with nice-looking icons
  • Replacing ord("X") with "x"
  • Replacing gamepad_axis_value() with new constants like gp_axislr
  • Checking gamepad axis inputs as pressed
  • Saving and loading Input Systems in one line
  • More vk constants

​And I have to mention FriendlyCosmonaut​ because the basic idea of the menu was from her Menus​ tutorial series. To be clear the code is completely rewritten to use the functionality of gms2.3 for instance, it uses structs instead of ds grids as the base of storing the menu, and also it has a ton of new features. The arrangement of buttons though is inspired by her system.

If you have any questions dm me on Twitter: @MilanVarady

Or send me an email:

And if you tried the system please let me know, maybe I can improve something.

End User Licence Agreement (EULA).

Age Rating: 4+


GMS2.3 - Version 1.0.5. Published April 14, 2021

Bug fixes

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait

Back to Top