Search Issue Tracker

By Design

Votes

0

Found in [Package]

1.4.4

Issue ID

ISXB-351

Regression

No

TouchPhase.Began is not always reported when using UnityEngine.InputSystem.EnhancedTouch.Touch.activeFingers

Package: Input System

-

Repro case:
{code:c#}
using UnityEngine;
using UnityEngine.InputSystem.EnhancedTouch;

public class TouchController : MonoBehaviour
{
// Start is called before the first frame update
void OnEnable()
{
EnhancedTouchSupport.Enable();
}

// Update is called once per frame
void Update()
{
if (UnityEngine.InputSystem.EnhancedTouch.Touch.activeFingers.Count > 0)
{
foreach(var f in UnityEngine.InputSystem.EnhancedTouch.Touch.activeFingers)
{
Debug.LogFormat("Finger ID {0} Touch Phase {1}", f.index, f.currentTouch.phase);
}
}
}
}
{code}

( from https://drive.google.com/file/d/1-au-3ChXIZlTbga-yxGWI3YBtu_iyIgr/view )

At least reproes on Windows:
- Start project
- Touch screen
- Observe Began is not always printed when touching down

More details see https://unity.slack.com/archives/C09Q7LYP9/p1669159799599629

  1. Resolution Note:

    By design `activeFingers` doesn't guarantee consistent reporting of began/end phases when used via polling. Please use `activeTouches` to guarantee that began/end phases are provided when used via polling.

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.