Al final, simplemente hace una busqueda, y va a lo más cercano, dando prioridad a enemigos, pero... esa prioridad es muy insuficiente por lo que comentaba al principio.
Por eso mi sugerencia tan específica para eso, había hecho un sistema similar en otro engine y eso fue lo que me dio mejor resultado.
Utilizando el bloq. numérico del teclado como ejemplo: el personaje es el 5, y los demás números las posibles direcciones (salvo el 0). Normalmente usas el input para decirle la dirección, si aprovechas eso y le creas el evento que siga esa dirección con un offset fijo desde donde está el personaje, con eso ya te funcionaría, porque usaría el mismo script de detección (o dicho de otro modo, "moverías" el origen de la detección).
El texto con blur, ha sido solo el inicial donde los fondos en rojo, no sé si será la escala (tamaño de éste) o la fuente utilizada en esa introducción, ahí solo puedo suponerlo.
Te animo realmente a que lo continúes porque es muy buen juego, solo le falta pulirlo.
Saludos! :D