Why does rigidbody launch itself in random direction when jumping?

I have a sphere with a rigidbody that rolls around with jump controls. Everything works up until the sphere jumps WHILE hitting another collider that isn’t strictly the ground. It’s fine when it jumps off the collider (ground) below it but anything else while jumping it randomly launches itself at a random direction and a random distance. It doesn’t seem to happen every single time either. Like I said, at random it’ll do it.

I’m using rigidbody.AddForce(Vector3.up * jumpForce, ForceMode.Impulse); for jumping and Vector3 relativeCamForward = new Vector3(cam.transform.forward.x, 0, cam.transform.forward.z); rigidbody.AddForceAtPosition(relativeCamForward * vInput, transform.position, ForceMode.Impulse); to roll around. And simply using OnCollisionStay to detect if isGrounded is true.

Thanks guys.

I’ve had a similar problem to this. Check the size of the collider for your sphere and make sure that it is the same size as the sphere otherwise it will be interacting with objects that you wouldn’t think it is.