Search Issue Tracker

By Design

Votes

1

Found in [Package]

1.14.0

Issue ID

ISXB-1528

Regression

No

The New Input System is not detecting clicks when under heavy load

Package: Input System

-

Reproduction steps:
1. Open the attached project "ReproProj"
2. Open the "/Assets/Scenes/Main.unity" Scene
3. Enter the Play Mode
4. Fast click "W","A","S" and "D" keys

Expected result: Only the green circle is present
Actual result: Red and green circles are present

Reproducible with: 1.11.2 (2022.3.60f1), 1.14.0 (2022.3.61f1, 6000.0.47f1, 6000.1.0b15, 6000.2.0a9)

Reproducible on:
Play Mode
Windows Standalone Player

Testing environment: Windows 10 Enterprise 21H2
Not reproducible on: No other environment tested

Notes:
- The red circle is the New Input System
- The green circle is the Old Input System

  1. Resolution Note:

    The current implementation in the input system is by design.

    You can however achieve similar results if they would like to receive input under load.

    I investigated the issue and the project you provided quite thoroughly.
    This is not a bug and rather a feature of the old input manager that we do not want to have in the new input system.

    If you want to have similar behavior in the input system you can listen for events instead as these provide the delta change.
    Example:
    m_Controls.gameplay.move.performed += (callbackContext) => Sum(callbackContext.ReadValue<Vector2>());

    This will allow for similar movement when quick tapping.

    Doc’s here:
    https://docs.unity3d.com/Packages/com.unity.inputsystem@1.5/manual/Actions.html#using-actions

    The old input manager used to cache keyboard quick presses, to know if it was pressed this frame and then applied the keypress once the frame had finished, we don’t want this approach in the new system as there are other ways to achieve this.

    If you compare both the input manager and input system with a gamepad or mouse you in the demo project you will see they act similarly. Just for key presses they differ due to the old input system caching.

    Other doc’s that may be useful for you:
    https://docs.unity3d.com/Packages/com.unity.inputsystem@1.2/api/UnityEngine.InputSystem.InputAction.html#UnityEngine_InputSys[…]_WasPressedThisFrame

    I hope this helps!
    Darren

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.