RigidBodies, adding force to a certain level

So I have been trying to do the the ball with infinite constant motion.

I turned angular drag and drag to zero and made all objects in the scene have a bounciness of 1.

In some situations the ball appears to speed up or slow down. (also it sometimes ends up with an angle that I want to reset it to be more upright so it isn’t just bouncing horizontally off walls for too long). I also want to be able to change the speed up and down depending on certain conditions.

My question is
a) is there a way to see the force on the ball with a single number along the vector it is travelling. rigidbody.velocity only gives me he vector3 of the force.
b) if that force isn’t the number I like how can i adjust it to be the force along that vector I want.

for those interested

rigidbody.velocity *= (MINVELOCITY / rigidbody.velocity.magnitude);

and i guess I just need to adjust the y component until it is upright enough

I think what you’re looking for is Vector Projection

PS:

rigidbody.velocity gives you the velocity as a vector3, force is something completely different.

yes you are correct about the force and velocity being different. But I am attempting to keep my velocity at certain speeds. Mass isn’t really important, thus force isn’t. I worded it poorly.