Creating "tight" platforming controls?

I’m wondering if anyone has any advice on creating a set of tight platforming controls? I’m currently using the addForce method for movement along the horizontal axis and have disabled gravity to add my own custom gravity and then remove it with OnCollisionStay.

My problem is however that using addForce you get real lag when changing direction as you slow the object down and then turn it back around. Would transform.Translate be better? Any other suggestions? Thanks

Have you tried using CharacterController?

Which controller would you suggest? There’s on first and third in the basic asset pack neither of which you would use for a platformer.

The physics component. Doesn’t need any asset packs. Here, this one: Unity - Manual: Character Controller component reference

Try replacing Rigidbody component with CharacterController component and then use CharacterController.Move instead of Rigidbody.AddForce and ChararcterController.isGrounded instead of Rigidbody.OnCollisionStay. Should get you good results after fiddling with numbers.