Having a Rigid Body slow to a stop sooner

I’m moving a rigid body (a sphere) around a zero G environment - no gravity, bounce threshold 0. I want to trigger an event after the ball’s velocity reaches 0, but it takes it a long time to slow to a complete stop as its velocity gradually decreases in tiny increments. I want it to stop sooner by telling it to ignore velocity below a certain threshold.

I tried using Sleep Velocity and Sleep Angular Velocity in the physics Manager, but neither seemed to have any noticeable effect, not even for very high values (1000+). Am I missing something with these settings, or is there another way to handle it?

You could increase the rigidbody fields Drag and AngularDrag (the rigidbody properties drag and angularDrag) - this would make the rigidbody stop early. You could also change rigidbody.sleepVelocity and rigidbody.sleepAngularVelocity, but the effect could be very weird: when rigidbody.velocity becomes lower than sleepVelocity, physics just declare the rigidbody in sleep state and don’t move it anymore - the rigidbody may become frozen in the middle of a fall, for instance, what is for sure a very strange thing.

If drag isn’t suitable for you (it’s proportional to the speed) you can use a trick to implement your own drag, reducing the speed when it falls below some value - like this:

var someLimit: float = 0.5;
var myDrag: float = 0.9; // must be < 1

function FixedUpdate(){
  if (rigidbody.velocity.magnitude < someLimit){
    rigidbody.velocity *= myDrag; // reduce velocity faster with myDrag
    rigidbody.angularVelocity *= myDrag;
  }
}