Thanks all. I modified monsieuroeuf’s version and came up with the below. It scales in and out nicely without keyframes, you’d just replace easeandwizz_inOutQuart with which ever Ease and Whizz function you prefer
fadeInTime=1.5;
scaleFromTo=50;
function easeandwizz_inOutQuart(t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
return -c/2 * ((t-=2)*t*t*t - 2) + b;
}
initialScale = transform.scale[0];
if (time < (inPoint+outPoint)/2){
moveEnd = inPoint+fadeInTime;
diff = initialScale-scaleFromTo;
normalisedTime = linear(time, inPoint, inPoint + fadeInTime, 0, fadeInTime);
s = easeandwizz_inOutQuart(normalisedTime, scaleFromTo, diff, fadeInTime);
}else{
moveEnd = outPoint;
diff = scaleFromTo-initialScale;
normalisedTime = linear(time, outPoint-fadeInTime, outPoint, 0, fadeInTime);
s = easeandwizz_inOutQuart(normalisedTime, initialScale, diff, fadeInTime);
}
[s, s]