First of all, the tests have been done for character movement (Vector2 Input) and tested on Unity 2021.1.7f1
If i just have the keyboard/mouse or gamepad connected, or manually set the default scheme, everything works perfectly.
However, if i have Auto-Switch enabled, when i connect a gamepad and still have the keyboard connected, it’ll read both gamepad and keyboard input simultaneously, altough the gamepad have some priority as it’s read later and this overwrites the keyboard input(but not always!). I verified this with Debug.Logs. No events where being called if choosing schemes manually, but auto-switch would dispatch logs for two devices (keyboard and gamepad), even though gamepad would be called later. Maybe this means the auto-switch is not working at all?
The result of this behavior is movement stutter. Some frames the keyboard value is read after the gamepad, but since nothing is being pressed, i get a null vector as result, stopping the character from moving and having movement stutter as consquence.
How do i fix this weird behavior? Or how do i manually setup control scheme changing to avoid this kind of issue?