A downloadable tool for Windows

Buy Now$10.00 USD or more

This input framework allows for a great number of things that you probably expected Game Maker to have.

  • Players can be assigned devices/bindings
  • Easily replace the Game Maker input system using input_check* functions
  • Limitless bindings and easy removal of bindings (on the fly changes)
  • Can be used with non-action/player based control schemes as well
  • Automatically controls device connection/disconnection
  • Handles axis input for you with convenient functions
  • Provides an example project that shows how to do everything

Documentation: https://pastebin.com/QBz4Mq5e

(Latest extension version is uploaded regularly, the example is not)

You can directly reach out if you need help via Discord! Just @me! (Seabass The Human)

This was made for Game Maker Studio 2!


Buy Now$10.00 USD or more

In order to download this tool you must purchase it at or above the minimum price of $10 USD. You will get access to the following files:

Input System Example.yyz 32 kB
seabass_input_system_documentation.txt 9 kB
Input_System.yymp 8 kB

Download demo

Input System Example.zip 1 MB


Log in with itch.io to leave a comment.

Hey, sorry, another quick question: Is there a way to add this to my YoYoGames asset library upon purchase? 


There is not! But it is an extension, so you can drag it into a project just as easily.


Looks great! Just confirming compatibility with GMS2.


Yep it's made for only GMS 2!

(1 edit)

Cool, thanks!
...Just saw that at the bottom of the description, now. Hopefully that wasn't there when I asked... :P


It was not! I added it since you pointed that out.


Excellent. I may buy this when I have a chance.

Does it have methods for supporting/detecting different controller types? Or would you recommend just having full re-binding or some certain preset options for controller types?

Finally, to clarify, I don't have to assign it to a specific player instance right? I can just directly check the controller inputs from any instance? (That's how it's done in my game now, it'll be easier not to adapt to the player/action system here, although your code for that is quite cool).



It doesn't have built in methods for detecting any specific controllers but it does know the difference between keyboard/mouse and gamepads. You an use gamepad_get_description() to get the device information.

You don't assign controllers to specific instances no. You have a whole library of function such as input_check() (the same as keyboard_check() or mouse_check_button()) and then you have a second type of input checking called actions. So you can more or less replace the whole default keyboard/mouse checking with input checking instead. The difference is that with input_check() you can pass in mb_left, vk_left, or gp_padl, and it'll figure out which functions to use in the backend and handle it for you.