Forward/Back input trigger not behaving correctly on mobile

Summary

When using this input trigger both the PressedEvent and ReleasedEvent are fired constantly when the player is moving forward

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Devices

Steps to Reproduce

Place an input trigger
Set its input to Creative Input Action - Forward/Back
Listen to PressedEvent and ReleasedEvent
Move forward on mobile

Expected Result

The PressedEvent is fired when the player starts moving and the ReleasedEvent is fired when the player stops moving

Observed Result

Both events are being fired constantly while the player is moving

Platform(s)

Mobile

Video

Additional Notes

Check the console output in the video

The status of FORT-1149912 changed to ‘Needs Triage’. We are routing this to the appropriate team for investigation.

I believe this issue started happening after v42.10.
This is probably due to they exposing movement input actions to verse, where it is also very wrong/broken but for many other reasons. (ex. Firing duplicated values, having biases to specific directions, not firing all related action events, some events have normalized values that should not, and so on…)
I assume they changed some parts of the internal code when working on this new verse feature, which may have caused the side effect and wrong behavior on the input trigger device.


But, back to this issue related to the input trigger:

Since the Input Trigger device reads and signals a “boolean” state from the joystick that is a “scalar vector” value, this is how it should do it:

  • Circle split into 9 areas (directions + dead zone).
  • When leaving the deadzone, triggers the “PressedEvent” for the area entered (Ex. Forward, or Forward+Right)
  • When entering the deadzone, triggers the “ReleasedEvent” for all areas that were active
  • When moving between areas (excluding deadzone), cycles the Pressed/Released states for the respective directions
  • On platforms with Keyboard, combinations like Forward+Back, or Left+Right are valid (player can physically send both signals by pressing the keys simultaneously). On other platforms with Controller or Touch, this is impossible due to hardware (Can’t move joystick to opposite sides at same time). This behavior is expected and it’s our job as developers to choose if they want to discard, accept or modify these edge cases and differences.

Here is a visual example: