Уточняй, как именно должен следовать и при каких условиях:
1. Если используется NavMesh, через NavMeshAgent.SetDestination задаётся точка куда надо двигаться.
2. Если хочешь, чтобы объект как будто прилип на расстоянии, то можно, в том числе, через физику Fixed Joint.
3. Если препятствий нет, то можно двигать один объект к другому, с помощью Vector3.MoveTowards (очевидно, если преследующий объект с коллайдером - в Rigidbody ставим isKinematic = true). Вот изменённый пример к MoveTowards, чтобы ещё поворачивался передом к преследуемому объекту и останавливался перед ним на каком-то расстоянии:
Код
using UnityEngine;
public class Example : MonoBehaviour
{
public Transform Target;
public float Speed;
[Tooltip("Как близко приближаться к Target")]
public float RelaxDistance;
void Update()
{
var dir = Target.position - transform.position;
if (dir.sqrMagnitude > RelaxDistance*RelaxDistance)
{
float step = Speed * Time.deltaTime;
transform.position = Vector3.MoveTowards(transform.position, Target.position, step);
transform.LookAt(Target);
}
}
}