Hi,
I think it's because you only allow one target at a time, there is a setting that let you fire at several target at a time, then you will be able to achieve what you want basically, at least closer.
I tried in my sample and it works, I have created lots of ennemies and increased the Target tracker "number of Targets" to a hight number and all targets did received the event all at the same time
not trying to get away from making it into arrays
but I think you should get in touch with the guys from target pro, I am positive they will give you the right advices and insight of how you can fine tune to achieve what you want and make the most out of target pro.
as for having each target know about each other, I think this is potentially a problem. Why would you want that? I am genuinely interested in this actually, because I pretty sure that the actual feature you wan to implement can actually be achieved without everyone knowing about everyone. If you want every object to be able to track AND be track, then each gameObject should have both a TargetTracker AND a TArgetable component. This is the usual set up for any ennemy for example, they fire at you or opposite teams AND can be hit of course.
as for other ways of target sorting, You should definitely submit that "random" sorting to the guys, it make sense. currently, to achieve this, I would do the following:
-- set the sorting style to "most powerful"
-- each target would have a script that random set the life
You then end up with one way of sorting randomly.
bye,
Jean