First coming to mind. The character can move forward and backwards. Hence, 1 Collision Detector will not do. Need at least two. Character can have (depending on the map) a wall behind and a wall in front.
Now, if you gonna build an AI around this, i suppose we speak about multiple characters having multiple sensors. You got to move the sensors. You got to select the correct sensors. You got to test collision between many sensors and many objects.
Lets walk to this.
You got to move the sensors.
To place the sensors, the easy way is to use imagepoints (so we have allready the image points).
Now to keep them there, you can not use 'pin', that is a behavior. You dont wanna use behaviors.
So that will be placing the sensor every tick to its imagepoint.
Moving so many sensors around will have an impact on the performance.
To place it there, you need to select the sensor that goes with the right character.
You got to select the correct sensors.
The obvious way is using containers, else you land in a complicated 'pick based on instance variables' situation.
You got to test collision between many sensors and many objects.
Each character will have to react in a 'personal' way to wall. Still talking about an AI. It will get (i guess) a new direction depending on the position of the wall.
So you will have to test collision of each sensor to each wall.
That will result in a lot of collision testing. And if there is one thing to avoid (to keep performance), that is collision testing.
Conclusion.
All the moving around, all those events to select objects, all the collision checks .... when dealing with a lot of characters .... can not talk about a clean solution.
What i proposed (it is up to you witch way you go) .... is using already moving imageponts ... no pick problems .... no CPU demanding collision checks ...