using UnityEngine; public class PingPongMover : MonoBehaviour { [SerializeField] private Transform pointA; [SerializeField] private Transform pointB; [SerializeField] private float speed = 2f; private Vector3 target; private void Start() { if (pointA == null || pointB == null) { Debug.LogError("Point A and Point B must be assigned."); enabled = false; return; } target = pointB.position; } private void Update() { // Move toward the current target transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime); // If we reach the target, switch to the other one if (Vector3.Distance(transform.position, target) < 0.01f) { target = (target == pointA.position) ? pointB.position : pointA.position; } } }