The ‘0.05’ will need to be adjusted for your situation. The ‘3.0’ is a speed parameter, but it is not directly related to the time of travel. This second version moves the same fraction of the remaining distance towards the goal each frame. Since the distance is shrinking, the same fraction is a decreasing distance. The result is an eased movement. But this method can take a long time to actually reach the goal. It’s like the old question, “If I move half way to may goal each day, how long will it take me to reach the goal?” The answer in pure math is never. For Lerp() it will reach the goal because the comparison of Vector3s is done with a threshold. The Distance() allows you to speed the process as appropriate to your situation.

var dogOldPos = (Camera.main.transform.position + Camera.main.transform.forward * 0.2 + -Camera.main.transform.up * 1.1);
var dogNewPos = (Camera.main.transform.position + Camera.main.transform.forward * 0.5 + -Camera.main.transform.up * 1.1);
var t : float = 0.0;
while (t < 1){
t += Time.deltaTime; // multiply it by speed if you like
transform.position = Vector3.Lerp(dogOldPos, dogNewPos, t);
yield;
}