When I move my arms back and forth, the player stops falling or moves upward

So while I play my game, a 2D sidescroller, and I jump and move the arms from side to side, my player stops falling for a brief moment, or he goes up a bit. So I could in fact manage to fly in my game due to this bug. I would like this to be fixed. The arms have no colliders, only the body does. I use a character Controller, and if you need any code, be free to ask. If you don’t quite get what I mean, here’s a 30 second youtube video of my program so far can be found here . Thank you for all your help.

Bonus Question: I use “D” to move forward, and “A” to move back when my character is facing forward (nose is facing right). When my character changes direct (his nose faces left), D still moves it forward, and A moves it backward, but I want to switch the valuse. So if character is facing left, A is to go forward, and D is to go backwards. I hope that makes sense. But this a bonus question, so if you know a solution great, if not, please try to focus on the main problem. Thank you very much for your time.

You need to remove this I think:

  moveDirection = transform.TransformDirection(moveDirection); //remove

Because that is changing your left right movement depending on the rotation of the character.

Its not your “arms”. Your “arms” are only looking towards the target. How do you handle jumping? Did you make sure the character ca only jump if he’s on the ground? You should be able to say something like:

if (Grounded & Input.GetButtonDown("Jump"))
// jump code here ......