Search Issue Tracker

Fixed in 0.2.0-preview

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

-

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.

Add comment

Log in to post comment

All about bugs

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