using UnityEngine; public class ObjectLoop : MonoBehaviour { public AnimationCurve animCurve = AnimationCurve.Constant(0f, 1f, 0f); public Vector3 endPos; public float duration = 1f; private float _startTime; private Vector3 _startPos; private void Awake() { _startPos = transform.localPosition; } private void OnEnable() { _startTime = Time.time; Update(); } private void Update() { var time = Time.time - _startTime; var ratio = animCurve.Evaluate(time / duration); transform.localPosition = Vector3.Lerp(_startPos, endPos, ratio); } }