I believe forces are applied to the rigidbody post-fixedupdate meaning even when I limit the velocity it is immediately being exceeded and the rigidbody moves further than desired.
Force is applied automatically by gravity, collision and joints in some cases. I guess I can clamp the velocity post collision but there is still the issue with everything else. I’m not actually applying forces directly.
That basically does exactly what my code does. The issue, I believe, is to do with velocity being calculated post FixedUpdate()… not with how I’m setting the velocity.