UPDATED: Now compatible with Game Maker Studio 2!

Virtual joy provides you with a fully customisable and simple way to implement on screen joysticks.

Features and Highlights: Adjustable Deadzones 8 Included Themes Fully Customizable Works with any size image Mobile and Performance Friendly

Here is a sample implementation that would control our hero:

obj_Hero.x += obj_LeftJoy.normalx

obj_Hero.y += obj_LeftJoy.normaly

obj_Hero.image_angle = obj_RightJoy.normaldir

Any problems contact me via the support url and fixes will be implemented asap.

End User Licence Agreement (EULA).

Version 1.0.0. Published September 8, 2014

Created with GameMaker: Studio v1.99.180

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Nick C 04 July 2019

Simple to use

Works great! But how would you implement collisions?


Anonymous 12 May 2019

Nice joy

Nice joystick but, does anybody knows how to make it smaller? I'v tried changing the object scale in the room to 0.4 / 0.4, but the size of the joystick on screen remains the same :(


Anonymous 15 March 2019


Is there any way to make the image angle softer?


Panayiotis Y 22 November 2018


Kevin C 04 June 2018

Works great!

Works great. Easy to implement. Working on customizing now. Wish we could have the joystick center on thumb placement on the screen.....


Anonymous 20 March 2018


Very very nice~! High quality and inexpensive~!


Jayenne M 28 September 2017


Anonymous 19 August 2017

not too bad, better that others.

it works as it says, but it is limited of what it can do. I have been trying to use "if statements" to it
to add my animations and other effects. but how to do it? if someone can help me. I i'd give it 5 stars.


Rm2kdev (Publisher) 19 December 2017

Your animation states should simply be
If input.x > 0 then "image right"
if input.x < 0 then "image left"
if input.y < 0 then "image up"

very easy :)


Abdullah A 09 June 2017


Easy to use easy to edit


Liam W 02 May 2017

Best virtual joystick

This is legitimately the best virtual joystick you can get.
Thanks for this.


Jeffrey L 01 April 2017


The only problem I had with this was when you move the object diagonally, it would do a slight shake. To fix that, I simply used round().
You're code should look like this:
x += round(obj_LeftStick.normalx * 3);
y += round(obj_LeftStick.normaly * 3);
Everything else worked great!


Mark D 08 February 2017

Great script!

Worked first time and easy to edit.


ivan c 02 November 2016



David F 07 October 2015

Seems to do all that it says it does

That said, I am completely new to GML and Iam having a heck of a time trying to implement shooting with just the rightside joystick press. Is there any chance someone would be willing to do a small tutorial showing how to fully implement shooting/button presses using this asset? IE: Fire toward the images_angle and set firing speed while limiting the key press to just the right hand side.


Charles P 24 September 2015

Super Simple!

Great work. This was just what I needed.


Alex M 20 July 2015

Great asset!

Such a great asset, well documented and easy to understand code, once you can grasp the basic's of the joystick logic, it is almost identical to setting up a gamepad input system, worth getting!


Roelf M 01 July 2015

Very Good

Very good engine.just what i needed,would just like to know how to change the sprite according to the direction as i want to use it in a rpg type of game

Package contents

Loading, please wait

What is the issue?

Back to Top