Search Issue Tracker
Fixed in 1.1-preview
Found in [Package]
[Input System][Mobile] EnhancedTouch screen taps start with "Moved" or "Stationary" phase instead of "Began"
How to reproduce:
1. Open the user-supplied project
2. Build for iOS/Android and deploy the application on an iOS/Android device
3. Tap the screen with one, two or three fingers and observe the Xcode Console or the white box on the screen
Expected result: Input System EnhancedTouch taps start in "Began" phase
Actual result: more than half of the taps start in "Moved" or "Stationary" phase
1. 0.9.0-preview (Unity 2020.2.0a5, 2020.1.0b5, 2019.3.9f1)
2. 1.0.0-preview.6 (Unity 2020.2.0a5, 2020.1.0b5, 2019.3.9f1)
Could not test with:
1. Input System package versions 0.2.10-preview and older due to Console errors
2. Unity versions 2017.4 and 2018.4 due to the Input System package not being available
VLNQA00160 iPhone 6S iOS 13.3.1
N/A, Samsung Galaxy S9 (SM-G960F), Android 8.0.0, CPU: Exynos 9 Series 9810, GPU: Mali-G72
VLNQA00313, Huawei Y6 Ⅱ Compact (HUAWEI LYO-L01), Android 5.1, CPU: MediaTek MT6735, GPU: Mali-T720
VLNQA00140, Samsung Galaxy S4 (GT-I9505), Android 5.0.1, CPU: Snapdragon S4 Plus MSM8960, GPU: Adreno (TM) 320
Could not test on:
VLNQA00183 iPad Mini iOS 9.3.5 due to Xcode error -402620391 (no valid application signature)
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- [HDRP] SUCCEEDED(hr) error is thrown when the project's Shadows Filtering Quality is set to High or Very High
- With specific Windows 10 settings, the player window resolution does not match the values passed into Screen.SetResolution()
- Material leaks memory when using PostProcess-Layer
- [URP] Adreno GPU is not getting the required vertex data
- [DX12] ShaderData.VariantCompileInfo.ShaderData contains 38 extra bytes on DirectX 12
Resolution Note (fix version 1.1-preview):
Fix in flight: https://github.com/Unity-Technologies/InputSystem/pull/1180. Expected to roll out in 1.1.
Made the behavior properly match the old input system here. EnhancedTouch will now force a touch to always have a Began even if it began and moved in the same frame.
One important thing to be aware of is that the state of UnityEngine.Input.touches does *NOT* necessarily have to match that of Touch.activeTouches. The reason is that on some platforms (notably Android), input from the UI is gathered on a separate thread and fed to the input system via a threaded background event queue. As the new and the old input system run at different times, that means that the touch events available at the respective points in time need not be identical.