Segun lo visto hay un problema y es que a medida que el enemigo se acerca al jugador este empieza a disminuir su velocidad. Para solucionar esto, hay que dividir el vector direccion por su magnitud. asi:
transform.position += (Vector3)direction/direction.magnitude * Time.deltaTime * enemySpeed;
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?