Test this asset on this link (WebGl)

NOTE: It can be used on 2D games as well as on 3D. This an example of 2D project that is made using this asset: https://www.youtube.com/watch?v=T7AbSXMgMWk

Requires Unity 2017.4.1 or newer version. Compatible for android and iOS.

I am always looking to improve my assets, so if you need any feature that you would like in new version or if you have any suggestion on how to improve this asset feel free to contact me.

This asset will provide you with movement + rotation joystick controls that is very easy to setup and use.

How to use it?

– Drag and drop “joystick.prefab“ from “Prefab” folder into your scene.

– Use “JoystickLeft.positionX” static variable inside your scripts to get left joysticks X axis value, use “JoystickLeft.positionY” to get Y axis value (you will get value from -1 to 1 for x and also from -1 to 1 for y axis).

– Use “JoystickRight.angle” to get right joysticks rotation value. Call “Mathf.Rad2Deg * JoystickRight.angle” if you want to get rotation in degrees and not in radians.

You can choose which joystick (left or right) you will use for movement and which one for rotation. Or you can use only one joystick for movement AND rotation.

Additional Options

If “Sticky” option is checked joystick will be invisible and it appear on the position where you touch the screen. If this option is unchecked joystick will always stay on the same position.

“Stick Movement Threshold” will determine how much joystick can move from its central position.

If “Move joystick base on drag” is checked joysticks base will move when finger or pointer is dragged outside of joysticks movement trashold.

“Freeze X” option will freeze X axis.

“Freeze Y” option will freeze Y axis.