shinkan Yeah I strongly disagree with Ashley on that one. For example, if you're using a separate object for an enemy's collisions, then you must code both objects to work in perfect harmony which can be a real pain at times, especially when dealing with multiple instances. Suddenly you end up having to do things like set & compare ID's or use containers, position the enemy to the collision object, give the collision object behaviors and variables instead of the enemy itself, make sure both exist or don't exist together, put them in separate families so one does this and the other does that. Then do you use one collision object for every enemy, or do you make a new one for each enemy? I mean they will have different behaviors and variables and properties so...
All of that can be avoided by simply giving the enemy an additional collision mask. One to handle collisions with the environment, and another to handle interaction with other objects.