Make SmoothDamp Reach Target?

As for as I understand, the SmoothDamp function will never actually reach its target, just forvever approach it. Is there a way to force it to arrive at its target? Im using it to de-accelerate my player and the player seemingly eventually stops, but is always moving VERY slightly. This complicates some of my other coding.

Thanks!

I found a solution that might work for other people, which consists on reducing, on each iteration, the value of the smoothTime parameter. This will result in the smooth damp going faster by the end, instead of going slower and slower, thus it will reach its target faster.

Note that if you’re changing the value for smoothTime (which is 1.1f in the example) you might have to change smoothTimeChange.

IEnumerator SmoothDampExample()
{
    // Say this is your target position
    var targetPosition = new Vector3(someX, someY, someZ);
    // This is your initial smooth time
    float smoothTime = 1.1f;
    // This is the amount you will be reducing smoothTime on each iteartion
    float smoothTimeChange = 0.0075f;
    // Store the result of smooth damp here
    Vector3 newPosition;
    // current smooth velocity
    float currentSmoothVelocity;

    // Let's say we want to move this component's transform position.
    // We will do this until smooth damp is done.
    while (true) {
        // Get the new position
        newPosition = Vector3.SmoothDamp(transform.position, targetPosition, ref currentSmoothVelocity, smoothTime);

        // If new position equals to current position, it means
        // it didn't change. SmoothDamp never actually reaches its target,
        // so when it doesn't move it's when we know it is done.
        if (newPosition == transform.position) {
            break;
        }

        // Set new position
        transform.position = newPosition;

        // Reduce smoothTime so SmoothDamp will go faster
        smoothTime = smoothTime - smoothTimeChange;

        // Wait for next frame
        yield return null;
    }

    // Smooth damp is done!
}