I have found the source to the problem.
It turns out that the engine scales mouse input by DeltaTime. So in my input functions, as the framerate goes lower, the InputValue goes higher because delta time goes up with a lower framerate. However this is not good for mouse input and felt really bad.
I ended up solving the issue by creating an input modifier and adding it to wherever I used the mouse for input in my InputActionMapping context. Here is my InputModifier:
I divide the incoming input with DeltaTime and then scale it back down with the Scale variable, which is exposed so I can tweak it in the InputActionMapping context (I used 0.01 for the Scale).
I know this is an imperfect solution but I don’t know how we can get the Mouse’s delta every frame from the input action itself?
I would love to know if there is a better solution!