using UnityEngine; public class ByPoints2D : MonoBehaviour { public GameObject[] wayPoint; // add points in Unity int toPoint = 0; // start point public float minDist = 1.0f; public float speed = 10f; public bool rand = false; void FixedUpdate() { float dist = Vector3.Distance(gameObject.transform.position, wayPoint[toPoint].transform.position); if (dist > minDist) { Move(); } else { if (rand == false) { if (toPoint + 1 == wayPoint.Length) { toPoint = 0; } else { toPoint++; } } else { toPoint = Random.Range(0, wayPoint.Length); } } } public void Move() { Vector3 dir = wayPoint[toPoint].transform.position - transform.position; transform.position += dir.normalized * speed * 0.02f; //transform.LookAt(wayPoint[toPoint].transform.position); //transform.Translate(Vector3.forward * speed); //transform.rotation = Quaternion.Euler(0, 0, 0); } }