we released the 1.10.0 (and the 1.9.0) version of the Input System package. They contain mostly bug fixes and you can find all the details in the changelog.
It will become the recommended version for Unity 6 Preview soon. We’re still waiting for a few more bug fixes before making it the recommended version for 2022.3, but you can add it manually already if you want to.
Known Issue: If you manually disabled the analytics module in the editor, you’ll get an error.
@Schubkraft Hi! Found a new super annoying bug in 1.8.2, is reproducible in 1.10.0 as well.
Unity 2021.3.40, I use OnScreenStick to trigger Gamepad/leftStick.
On some Android devices (I would say around 10% of install base) the corresponding action stucks in IsInProgress() state after you touch the screen stick for the first time. i.e. after releasing the stick the magnitude becomes zero but IsInProgress() is still True.
During debugging I figured out that adding logs to the InputActionState.IsActuated() method fixes this issue. So my guess is there is some race condition and altering timings of IsActuated() actually fixes the state.
I did not managed to reproduce it on my devices, was collaborating with one of our players who had 100% repro. And we had a lot of other players reporting the same issue.
I did a workaround fix: I stopped looking at IsInProgress(), now relying only on the magnitude.
@Schubkraft another annoying thing is this ticket (there is a project inside): IN-81875 - onAnyButtonPress gets called multiple times for a single button press what contradicts the documentation saying “The listener will get triggered whenever a ButtonControl on any device in the list of devices goes from not being pressed to being pressed.”
Isn’t there a way yet to know if the user has the InputSystem or the native system set up in their project? that is important for Assets sold in the store. We can’t create sample scenes that use the InputSystem or the native one, if we can’t check that.
I tried using the touch controls in this package, and also just simple menu navigation in my own game.
This has been a frustration for a while, it works fine on android and even a little bit on steamdeck but on a Surface device it doesn’t work at all like the old input system did seamlessly.
When the new input backends are enabled, the ENABLE_INPUT_SYSTEM=1 C# #define is added to builds. Similarly, when the old input backends are enabled, the ENABLE_LEGACY_INPUT_MANAGER=1 C# #define is added. Because both can be enabled at the same time, it is possible for both defines to be 1 at the same time.
If you haven’t already raised a bug report on this I’d encourage you to do so. The input system team use the bug system to track and prioritise incoming issues and are likely to miss some of the content posted here in the general discussions area.
not sure where to put suggestions, so I start here and please let me know, if I can put it somewhere else.
It would be nice if the OnScreenStick is open for extension by defining public virtual and protected virtual methods instead of closing them down with private or non-virtual methods.