Search Issue Tracker
Duplicate
Votes
2
Found in [Package]
preview.7 - 1.0.0
Issue ID
1244537
Regression
No
[Android][Samsung] Input System fails to finish the touch phase when releasing the fingers from Samsung device screen
Steps to reproduce:
1. Open the project "Case_1244537" from the provided cloud link
2. Build it to Android
3. In the app touch and drag to change the position of a purple object
4. Release the input
5. Notice the touch phase is not finished
Expected results: Input phase ends after releasing the screen
Actual results: Input phase does not end after releasing the screen
Reproducible with: 2019.3.13f1(preview.7 - 1.0.0)
VLNQA00220, Samsung Galaxy Note9 (SM-N960F), Android 8.1.0, CPU: Exynos 9 Series 9810, GPU: Mali-G72
Not Reproducible with:
VLNQA00123, Google Pixel 2 XL (Pixel 2 XL), Android R, CPU: Snapdragon 835 MSM8998, GPU: Adreno (TM) 540
VLNQA00024, Xiaomi Mi 5 (MI 5), Android 7.0, CPU: Snapdragon 820 MSM8996, GPU: Adreno (TM) 530
Note: Unable to update to 2020.1 and 2020.2 or downgrade to 2018.4 due to dependencies errors
Comments (2)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Text is unreadable when DLSS is applied to the Canvas with Render Mode set to World Space
- NullReferenceException errors appear in the Console when changing the values of Visual Effect Control Clip Events' Attributes
- Crash on TextCore::OTL_TableReader::GetOpenTypeLayoutTables when using Japanese Font as TMP Fallback
- TreeView.AddItem performance regression when opening EditorWindow
- Shadows are not visible in Player when using DX12 with Forward+ or Deferred+ rendering in URP
JolkedeJonge82888
Oct 21, 2020 07:23
I have currently found a work around for this issue.
In the link below there is the code what have worked for me.
What I do is just reseting the old value of the touch state. Remember it is important with IEnumerator else the code won't work.
I hope this helps.
Code Work Around:
public void Start()
{
StartCoroutine(ResetValueOfTouch());
}
IEnumerator ResetValueOfTouch()
{
TouchState newTouchState = new TouchState();
newTouchState.isPrimaryTouch = false;
newTouchState.pressure = 1;
newTouchState.touchId = 1;
InputSystem.DisableDevice(Touchscreen.current);
InputState.Change(Touchscreen.current.primaryTouch.phase, (byte)UnityEngine.InputSystem.TouchPhase.None);
InputState.Change(Touchscreen.current.primaryTouch, newTouchState);
yield return new WaitForSeconds(0.1f);
InputSystem.EnableDevice(Touchscreen.current);
}
RemyVrcomposers
Oct 21, 2020 07:05
Also reproducible with Unity 2020.1.6f1 on a Samsung galaxy s8+ cpu: Exynos 9 Octa 8895 10 nm octacore running Android 9.0