Search Issue Tracker

Active

Votes

0

Found in [Package]

0.0.9-preview

Issue ID

1091951

Regression

No

[Android, iOS][Touch] Touch is 1-2 frames late

Package: Input System

-

-

Priority: 7Not yet prioritized for a release

-

Severity: 3Secondary functionality broken

Migrated bug from GitHub: https://github.com/Unity-Technologies/InputSystem/issues/220

Looks like touch input on Touchscreen is 1-2 frames late compared to UnityEngine.Input. Might be a threading issue due to the UI/app thread split on Android in combination with the background input queue.

Forum thread: https://forum.unity.com/threads/is-the-touch-screen-working-yet.544878/

renaldasrep commented on Aug 23
Reproduced on:
Samsung Galaxy S8 OS:8.0.0
iPhone 8+ OS:11.4.1 (reproes but not as consistently as on android)

Old Input registers (using EventTrigger component) as expected

New Input LowLevel event registers as expected
New Input activeTouches.Count > 0 on Update registers as expected
New Input Touchscreen InputAction.performed callback has 1-2 frame delay

renaldasrep commented on Sep 3
What I'm currently getting is:
Old input is late on Android
New input is late on iOS

douglas-piconi commented 4 hours ago
I wrote a quick stress test and interesting result. Turns out you don't have to stress this at all to repro the problem. I wrote a test to run over about 500 frames and send one piece of data to a device and read it at the end of each frame. With 1 device. works great over 500 frames. I was originally going to stress a few hundred devices, however, it turns you you only have to a a second device. The minute you add a second device, it fails on the first frame. There is a 2 frame delay for the data on both devices.

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.