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
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
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
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- WebGL sends wrong value with large numbers when SendMessage function is used
- Add Behaviour dropdown has a part in which the dropdown outline is cut out when the Add Behaviour dropdown is opened
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