Welcome to Stratos!
Chequeas continuamente todas las unidades? O tienes una entidad como "montón de unidades" y si ese "montón" ve algo ya miras que unidades del grupo en particular son las que empiezan a disparar? Algo parecido me pasa con el pathfinding para tantisimas cosas...
Luego para rizar el rizo, se podría hacer que varios grupos distintos se coordinaran entre ellos para lanzar un ataque o proteger una zona. Imaginad que te viene la IA a atacarte con infantería y arqueros. Sales a defenderte y los arqueros te empiezan a disparar a distancia, cuando te acercas la infantería avanza y sale a tu encuentro. En medio de la lucha aparece la caballería enemiga y divide tu grupo en dos, mientras un nuevo grupo hace su aparición y te destroza :ph34r: .