We are trying to make 2 virtual joysticks for both sides of the screen. Movement joystick can be enabled at any pressed position of the left side of the screen and shooting joystick can be enabled on right side.

So far we are trying to make second input to work when movement joystick is our first input. But it feels like second input is locked on the left side of the screen.

What happens when we try to move left side joystick as a first input and then press on the right side of the sceen with other finger (Second input) is that movement joystick locks and player just move to the last position first finger was pointing. Shooting is not happening.

Gameplay, that maybe will help to understand the issue

Code we are working with


I have something to share about touch controls.

Perhaps this is a similar confusion of Unreal Engine having touch1, touch2 as first finger touch and second finger touch inputs. Unless you add and map touch2, only first touch/swipe input is taken as input.

After a quick visit to Unity docs, a similar system is applied as Input.GetTouch(1) and Input.GetTouch(2) as 2 finger gestures.

I have never used a joystick but perhaps you are facing similar troubles. Hope this solves your problem.

Good Luck.

  • \$\begingroup\$ So as I understood, you have to make 3 touch inputs to make multi touch possible? \$\endgroup\$ – Tadas Jan 8 at 18:40
  • \$\begingroup\$ If you need 3 finger input(like screen zooming + shooting at same time) then go for 3 inputs. For a racing game with left side for boosts right for steering, its 2 inputs. For something like ninja slice or candy crush 1 is enough. \$\endgroup\$ – suvam0451 Jan 10 at 7:32

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.