Hello
I have a 2D game with a character that can jump and move left/right. Recently i changed the movement script and i’m now using Rigidbody.AddForce instead of changing the transform.position. The problem is, that the character moves very slow when is on the ground (inAir it moves as fast as it should). I looked into different answers but the only solution seems to be increasing the speed value or decreasing gravity. But if i increase the speed, it has way to fast inAir movement and if i decrease gravity, it falls extremely slow. Does anyone know another solution or a trick to solve or bypass the problem?
I think it would be better to use RigidBody2D.velocity
instead of RigidBody2D.AddForce
…
Sounds like perhaps it’s a friction problem, you need to create a Physics2D Material and set the Friction to 0. Unity - Manual: Physics Material 2D
Also for moving it might be best to use Rigidbody2D.velocity instead of AddForce(); at least that’s the method that I prefer, I covered a 2D Character controller here Character Controller in Unity 2D! (Move, Dodge, Dash) - Code Monkey
And a Platformer controller here Simple Double Jump in Unity 2D - Code Monkey