Over 11,000 five-star assets
Rated by 85,000+ customers
Supported by 100,000+ forum members
Every asset moderated by Unity
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
1/7
Test it here (WebGL)
Or download apk file and test it on your android device
This asset will provide you with FPS controls for mobile devices that is very easy to setup and use.
How to use it?
• Drag and drop “Joystick.prefab“ from “Prefab” folder into your scene.
• Add EventSystem to your project hierarchy (Right click inside project hierarchy – UI – EventSystem)
• 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).
*Example
Vector3 moveX = JoystickLeft.positionX * speed * transform.right;
Vector3 moveY = JoystickLeft.positionY * speed * transform.forward;
rigidbody.MovePosition(transform.position + moveX * Time.fixedDeltaTime + moveY * Time.fixedDeltaTime);
In case that your character doesn’t have rigidbody you can use this:
transform.position = transform.position + moveX * Time.fixedDeltaTime + moveY * Time.fixedDeltaTime;
- For rotation use JoystickRight.rotX and JoystickRight.rotY.
* Example
void Update() {
transform.rotation = Quaternion.Euler(JoystickRight.rotY, JoystickRight.rotX, 0);
}
• To detect if shot button is pressed you can use JoystickRight.shot static variable. It will return true when shot button is pressed and false when it is released.
• To detect if jump button is pressed use JoystickRight.jump. It will return true whan jump button is pressed and false when it is released.
Or download apk file and test it on your android device
This asset will provide you with FPS controls for mobile devices that is very easy to setup and use.
How to use it?
• Drag and drop “Joystick.prefab“ from “Prefab” folder into your scene.
• Add EventSystem to your project hierarchy (Right click inside project hierarchy – UI – EventSystem)
• 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).
*Example
Vector3 moveX = JoystickLeft.positionX * speed * transform.right;
Vector3 moveY = JoystickLeft.positionY * speed * transform.forward;
rigidbody.MovePosition(transform.position + moveX * Time.fixedDeltaTime + moveY * Time.fixedDeltaTime);
In case that your character doesn’t have rigidbody you can use this:
transform.position = transform.position + moveX * Time.fixedDeltaTime + moveY * Time.fixedDeltaTime;
- For rotation use JoystickRight.rotX and JoystickRight.rotY.
* Example
void Update() {
transform.rotation = Quaternion.Euler(JoystickRight.rotY, JoystickRight.rotX, 0);
}
• To detect if shot button is pressed you can use JoystickRight.shot static variable. It will return true when shot button is pressed and false when it is released.
• To detect if jump button is pressed use JoystickRight.jump. It will return true whan jump button is pressed and false when it is released.
FPS Controls for mobile devices
(7)
45 users have favourite this asset
(45)
$4.99
Seat
1
Updated price and taxes/VAT calculated at checkout
Refund policy
Secure checkout:

License agreement
Standard Unity Asset Store EULALicense type
File size
3.1 MB
Latest version
1.0
Latest release date
Aug 24, 2020
Original Unity version
2018.4.0
Support
Visit siteQuality assets
Over 11,000 five-star assets
Trusted
Rated by 85,000+ customers
Community support
Supported by 100,000+ forum members
Language
Feedback
Partners Program
PartnersUSD
EUR
Copyright © 2025 Unity Technologies
All prices are exclusive of tax
USD
EUR