Trouble with rebinding inputs for movement

I’m having trouble with rebinding keys and was wondering if I’m doing anything wrong.
I’ve been recently attempting to implement Unity’s Input-System into my games movement scripts and so far everything’s gone well, except now that I’ve moved onto rebindings and saving them I’ve had two issues that I cannot fix.

The big one and the one I’m making this post primarily about is with rebinding my movement keys. They are setup as Vector2 values and are for a 2d game (so I’m only really using left and right keys). All the other keys I have for my game rebind perfectly fine but the movement keys work a little different. Instead of putting the code in the function you call when you use most input actions I have the readvalue() function checking to see the x value of that input, however, when I rebind the keys it doesn’t apply and A + D still cause the movement while at the same time when I make a function to print a message if the keys are pressed it knows they’ve been rebound.

TLDR;

My keys all rebind perfectly fine except my movement keys because I use ReadValue().x in the update function instead of InputAction.CallbackContext to read the x value it returns. When I rebind it knows it’s been rebound BUT doesn’t apply to the value, just to anything in the function.


If anyone has any suggestions I would LOVE THEM EVER SO DEARLY THIS HAD BEEN A BURDEN ON MY SOUL FOR A MONTH NOW.

For anyone who may have had the same problem, it’s not super clear to me why this works the way it does, but I fixed the issue by setting the movement in a similar way as before, but instead of doing:

move.ReadValue<Vector2>();

(Move being the input action assigned in the OnEnable() function)

I did:

context.ReadValue<Vector2>();

Which for whatever reason returns the update inputs whereas the former only reacts to the originally set inputs.