Does Mathf.PingPong always have to start at (0,0,0)?

pretty much what the title asks. I copied the exaple right from the scripting reference but I noticed that u can’t choose where it starts and where it ends like Lerp for example. All you can do is choose the time and the length.

Yes, like you can read in the docs it always ping-pongs between 0 and length. However if you want a different range, just add an offset. You can also create a helper like this:

// C#
float PingPong(float aValue, float aMin, float aMax)
{
    return Mathf.PingPong(aValue, aMax-aMin) + aMin;
}

// UnityScript
function PingPong(aValue : float, aMin : float, aMax : float) : float
{
    return Mathf.PingPong(aValue, aMax-aMin) + aMin;
}