// Update is called once per frame void Update() { if (target != null) { projectile.setDirection(Vector3.Slerp(projectile.MoveDirection, (target.position - projectile.transform.position), Time.deltaTime * homingSpeed)); time -= Time.deltaTime; if (time <= 0) { target = null; time = traceTime; } } else { } }