public override void OnModeEnter(Mode mode) { MAnimal animal = mode.Animal; var pos = animal.Center; var AllColliders = Physics.OverlapSphere(pos, FindRadius, animal.HitLayer); Collider MinDistanceCol = null; float Distance = float.MaxValue; foreach (var col in AllColliders) { if (col.transform.root == animal.transform.root) { continue; //Don't Find yourself } var DistCol = Vector3.Distance(animal.Center, col.transform.position); if (Distance > DistCol) { Distance = DistCol; MinDistanceCol = col; } } if (MinDistanceCol) { animal.StartCoroutine(MalbersTools.AlignLookAtTransform(animal.transform, MinDistanceCol.transform, AlignTime)); } }