# How do I make a sphere bounce forward without adding a lateral force?

I’m trying to make a sphere bounce infinitely as it infinitely moves forward on a plane. The player can only control the horizontal movements of the sphere using the ‘left arrow’ and ‘right arrow’ keys. However, after each bounce, a lateral force is added which causes the sphere to move faster. The distance travelled by the sphere after one bounce is always greater than the distance travelled after the previous bounce. This isn’t what I want. I want the sphere to keep bouncing forward at a constant speed.

Apparently, it’s not possible to do it with physics. Are there any alternative ways to do this? Should this be done via animation?

You can limit the velocity. You can write an if-clause that checks if your velocity is bigger then a maximum velocity you choose. If that happens it slows the sphere down by a force in the opposite direction or you normalise the velocity vector and then apply your maximum speed.
Here is somebody with a similar question: Limiting rigidbody velocity - Unity Answers