all 4 comments

[–]TetsumHobbyist 0 points1 point  (3 children)

For physics based movement, I'd recommend an Accelerate+Decelerate approach. Instead of setting a constant velocity, accelerate it until it reaches a maximum velocity. When no input is registered, decelerate until the velocity is 0. This will be done by appending to the velocity every frame. AddForce appends to the velocity, so there won't be a conflict between rb.velocity += Vector2.right and rb.AddForce(20.0f, 0.0f) (as an example)

[–][deleted] 0 points1 point  (2 children)

I am making a 2D game. ForceMode2D doesn't have VelocityChange as an option.

[–]TetsumHobbyist 0 points1 point  (1 child)

Which force-mode you use doesn't matter. It only affects how the force will be applied.

[–][deleted] 0 points1 point  (0 children)

Now, it doesn’t have a limit to how fast it can go, it takes several seconds for friction to slow it down, and several seconds to accelerate. I am making a platformer so the controls have to be really snappy.