I have made this little tooltip-gameObject which is supposed to swap in and out new tooltips during the game.

I’m using a standard lerping functionality using a common “EaseOutBack”/“EaseInBack”.

Now I could not do a standard Vector3.Lerp over fromPosition and toPosition, since the EaseOutBack routine goes beyond the bounds of from and to. So I had to do this:

```
IEnumerator SwapIn()
{
Vector3 fromPosition = new Vector3(10f, 0, 0);
Vector3 toPosition = Vector3.zero;
float lerpFactor = 0;
float duration = 1f;
float rate = 1.0f / duration;
float tweenX = 0;
float tweenY = 0;
float tweenZ = 0;
Vector3 localPosition = Vector3.zero;
while(lerpFactor <= 1.0f)
{
lerpFactor += Time.deltaTime * rate;
tweenX = EasingFunctions.EaseOutBack(fromPosition.x, toPosition.x, lerpFactor);
tweenY = EasingFunctions.EaseOutBack(fromPosition.y, toPosition.y, lerpFactor);
tweenZ = EasingFunctions.EaseOutBack(fromPosition.z, toPosition.z, lerpFactor);
localPosition.Set(tweenX, tweenY, tweenZ);
toolTipsContainer.transform.localPosition = localPosition;
yield return null;
}
toolTipsContainer.transform.localPosition = toPosition;
}
```

I really think this could be done prettier. In the future I would like to just use generic standard routines all over my game, so I could use an optimal representation of this snippet of logic.

Thank you in advance.