Turn off/on Virtual Joysticks?

I need to have my virtual joysticks pop on and off when using widget menus. It seems the second I use “Remove all Widgets”, the virtual joystick controls disappear and there is no way to get them back. I’ve tried “Activate Touch Interface” with “DefaultVirtualJoysticks”, but that did nothing. The Virtual Joysticks don’t seem to be retrievable after “Remove All Widgets” is used. I was hoping to add them as their own Widget, since they seem to be a widget, but the engine treats them as something different. In the Content Browser they show up as something else other then a widget.

From what I can find, if you use “Remove all Widgets” it will destroy the virtual joysticks. There is no way around this and no way to fix it after it’s done. What you can do is hide the Virtual Joysticks with “Activate Touch Interface”, and set the interface to None (says “Select Asset”, so basically it’s unset). After you’re done with the menus, only use “Remove from Parent” to get rid of your menu, NEVER use “Remove all Widgets”. Then use “Activate Touch Interface” again, and this time set it back to “DefaultVirtualJoysticks”. So basically, you just hide them well you’re in the menus, and show them again when you’re out.

But NEVER USE “Remove All Widgets”!!!

(I’m leaving this information up to help others)

Here’s what I used instead of “Remove All Widgets”. Hope it helps

85825-capture2.jpg

1 Like

Much more convenient way is: Get Player Controller → Activate Touch Interface and set it to None. No opacity tricks, no anything weird. Confirmed working in 4.14.3
Have fun!

2 Likes

I should add that I’ve come across this problem a few times, the touch input does not seem to want to show up after setting it to ‘Activate Touch Interface’ at Begin Play e.g when running a level straight from the editor.

If that’s what you’re trying to do and are struggling, add a delay - even of 0 seconds - and it seems to behave as expected. Remove that delay and it won’t show up. A bug?

How to set parameter for Activate Touch Interface({parameter})
I want to see joystick again

How to set parameter for Activate Touch Interface({parameter})
I want to see joystick again

1 Like

In C++
I know this->ActivateTouchInterface(0), but don’t know how to turn it back
this->ActivateTouchInterface({parameter});

I got it working. In my Player Controller I made 2 custom events. One hideleftjoystick and one showleftjoystick.
In the hideleftjoystick i connected it to activate touch interface and had nothing in the drop down.
In the Showleftjoystick i put in Activate touch interface in drop down LeftVirtualJoystick. Then connected it to set virtual joystick visability node. Putting a checkbox in visible.

Then just call to either of those with a cast to PlayerController from whatever other blueprint you are in.

Hey there,
I got it by searching “Set Virtual Joystick Visibility” on or off

and you need to add “Get player Controller” at first, to find it

Guys, does any1 know how to change my Joystick speed aka “sensitivty”?