Virtual Joystick contributing to touch count if touched first

Hi there,

I decided to test a virtual joystick with my existing touch interface.

If I touch the joystick first, and then touch elsewhere on the screen, the touch count is logged as 2. But if I touch elsewhere first, and then the joystick, the touch count is logged as 1.

So if I start moving with the stick, I can’t use my gestures as it’s detecting two touches. But if I touch outside the stick area first then start moving, I can perform my gestures.

My touch/gesture input is implemented in C++ using the same code from the Strategy Game example.

Using 4.7 Preview 7

Still need help with this please. It still occurs in the full 4.7 release.

I am having this issue as well - and while it is not pretty, I have a workaround which I hope will help.

TouchInterface in blueprint has no direct way of notifying you that it is actively being used that I have been able to tell (if anyone knows a way, please chime in). This makes grabbing touches from the Get Input Touch State node a problem.

As a workaround, I create a simple function that gets the joystick position (Get Move Forward and Get Move Right) and returns whether the joystick is essentially ( 0,0 ) - if it is, I use Enum Touch1 - if joystick is not (0,0) i use Enum Touch2. It is not elegant, but it seems to “work”.

Depending on your situation it may be helpful to use integers which just have +1/-1 when joystick != 0,0 - the integers can be converted to Byte and used on the Touch Index pin input.