• Replaces keyboard_check(), gamepad_check_button(), and joystick_check_button() with a single script inputdog_down()
  • Automatically checks for joystick connections and disconnections. Players can add and remove joysticks at will without disrupting the flow of your game
  • Includes an example input remapping room for players to define custom controls their keyboards/joysticks and switch between xinput and directinput (per player) for maximum compatibility (NOTE: Game Maker can only track up to 2 joysticks in direct input mode)
  • Define your inputs with names instead of referring to the button index/default key. (ex: inputdog_add_input("left", vk_left, inputdog_left_stick_left), then to check it use inputdog_down("left") )
  • Inlcudes checks for whether an input is down, pressed, or released
  • Supports gamepad rumble
  • Record and play back inputs with the easy to use inputdog_replay functions

The asset package includes examples for all of these features.

In the example project I've set up the controls for player 1 in the InputForPlayer1 object:

inputdog_add_input("left",   vk_left,    inputdog_gp_left_stick_left);
inputdog_add_input("right",  vk_right,   inputdog_gp_left_stick_right);
inputdog_add_input("bark",   ord("N"),   gp_face3);
inputdog_add_input("growl",  ord("M"),   gp_face1);

Here's the Step Event for player 1's character:

if inputdog_down("left", playerSlot) x-= 3;
if inputdog_down("right", playerSlot) x+= 3;

if inputdog_pressed("bark",playerSlot)
    sprite_index = sDogBark;

if inputdog_pressed("growl", playerSlot) 
    inputdog_set_rumble(0.5, playerSlot);


If there's something you wish this had, send me an email and I'll see what I can do!


More info

End User Licence Agreement (EULA).

Changes in 1.2.0

-fixed issues with newer versions of gm

Version 1.2.0. Published October 23, 2015

Created with GameMaker: Studio v1.99.460

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Anonymous 08 July 2019


Anonymous 17 June 2019


Anonymous 18 March 2019


Kyle C 02 February 2019


Vee F 08 October 2018


Byte S 04 August 2018


Thibault L 14 June 2018


Sebastian N 12 June 2018


Greg D 22 May 2018


Anonymous 29 November 2017


Harry F 26 July 2017


if you want to make a four player game look no further!


Dave F 22 May 2017


Mark C 17 April 2017


Anonymous 04 March 2017

Five stars, but...

Input dog is an amzing extenstion, however, i just dont know how to implement it into my own game...


Tobias F 08 February 2017

incredibly great asset

Avoid spending days on a partially working keybinding system when this takes care of (almost) everything.
For a free asset this should be mandatory to download for everyone who wants to create a quality game. Set it up once and never look back.

Currently I am trying to figure out how to make the code work with my controller and keyboard menu system, and I could not find any help online. If someone would make a version with Input Dog AND a working menu system for controller, keyboard and mouse, it would be the ultimate asset.



Martin H 07 December 2016

A fantastic tool

It took me a half a day to get my head around it, I have it implemented but this is so advanced and wonderful I'm not sure just how it works, but it does. And brilliantly at that.
Thank you so much Messhof for making this available. You not only make wonderful games, but also excellent tools available for free, and for beginners like me. You saved me and others a ton of time.
Thanks :)

PS.: For others who might struggle on implementing:
The hardest stuff in order to get custom controls in my game, was realizing that you have to comment out inputdog_load_custom_controls();, in InputManager Create event. If you don't you can't create custom controls, but will get an error when new setups are made.


Andreas M 12 February 2016

All you need

Great code. Simple to use.


Andy D 01 February 2016



ayat s 24 November 2016

Pretty much everything you need!

This is probably the best controller manager you can get, easy to setup and use without needing to o through tons of headache. If you are a noob like me don`t try to make sense of the code, just grasp the basics so you can put in your project. I spent two days and made the code to work with non-mouse menu that I have and it worked pretty well.

Update: Someone should update this to work with GM 2.0


Paul C 19 October 2015


Thanks so much for this asset! So easy to use. I needed to add controller support to my game. It took me about 10 minutes to get it up and running and it has been working without any hassles at all!. As the author mentioned below, for my game I didn't need a seperate room to activate the controllers, I just put "instance_create(0,0,InputForPlayer1)" at the start of the creation code of the first room of my game.

This review was left for a previous version of this asset.


Jonathan D 13 December 2015

So good it should be included in gamemaker

This is much better than the universal input script I had written. This is sure to be a part of my projects in the future. Thank you Messhof!


Justin K 28 August 2015

This is great - helped me add 8-player mode

Once you get your head around how it works (using the example provided) - this is a very useful set of scripts.

This review was left for a previous version of this asset.


malthe f 31 January 2016

Simple with lots of possibilities.

After getting the hang of it, I was able to write a 4 player controller/keyboard game with ease.
This asset really takes a lot of effort from writing your own keybind system, and fits perfectly for my games, I'll definitely use this in future projects as well!

The only thing to note, is that the first room is used to initialize variables used by this system.


Oscar B 01 January 2015

Great except for one time waster

I don't know if anyone else has this problem, but It has to do with scaling views. GM:S initializes your games port on screen to the port of the first room that uses views. This asset requires that your game load an initial room that sets up all it's inputs and whatnot, so just make sure that you set the view port of that first room to be the same as the rest of your game, or you will run into some serious scalling and resolution issues. It's just not written anywhere in the documentation, so you might waste a bit of time.

Other than that, this is a great asset package!

This review was left for a previous version of this asset.


Messhof LLC (Publisher) 04 January 2015

Thanks, Oscar. Yes, the initialization code in the first room's creation event just has to happen before you call other input dog scripts.


noah s 02 December 2014

input dog: more than a pet

input dog is a 'fetching' game maker asset that, much like a real dog, will quickly become a valued member of your family.

from the useful example project to the platform-independent gamepad implementation, you'll be pleasantly surprised at how friendly and servile your new canine companion is. best of all, input dog is still in development, proving that you CAN 'teach an old dog new tricks'.

This review was left for a previous version of this asset.


Tristano A 24 November 2014


Input Dog is well implemented and comes with a cool example project. The scripts can easily be imported into any project in an "off-you-go" manner, without trouble. Great handy bundle of scripts!

This review was left for a previous version of this asset.


Daniel A 25 September 2014

Fantastic only begins to describe it.

Great time saver with some nice tricks under it's sleeve.

Implementing it is almost as easy as using GM's own checks, but to a grander result.

This review was left for a previous version of this asset.


Anonymous 17 August 2014

Saves a lot of unneeded hassle

It's extremely easy to set up and implement, allowing you to support keyboard, xinput, and directinput gamepads without having to write out seperate code for each of them!

This review was left for a previous version of this asset.


Mark A 03 August 2014

Well written, and much needed!

Excellent asset package! As someone that finds setting up multiple inputs for different platforms etc... boring and a real chore, this is a godsend. Thanks!

This review was left for a previous version of this asset.

Package contents

Loading, please wait

What is the issue?

Back to Top