The current handling of collisions in 2D Toolkit seems ok for casual games or those that don't demand much in terms of collision detection, but it isn't yet powerful enough to handle other more complex scenarios. I'm making a game that needs some serious use of collisions involving sprite-based objects. More especifically, it's a beat-em up. Implementing the combat system, I came into these two limitations of 2D Toolkit that blocked my path:
NO MULTIPLE COLLIDERS:
It is only possible to define one collider per sprite. There should be a way to define the number of colliders, from 0 to whatever, then have them show as additional tabs the way the single collider does at the moment. Even if all sprites in a collection needed to have the same number, that would still be good enough.
Why do I need this? The characters in my game need 3 colliders. Collider 1 is for movement (not walking through walls, floors, platforms, other characters, etc.). Collider 2 is a hitbox to receive damage from other characters' attacks. Collider 3 is a hitbox to inflict damage when attacking other characters. If, for example, the character is performing a kick, Collider 1 will cover most of the character's body without the kicking leg, Collider 2 will cover a reduced area that excludes most of the limbs, and Collider 3 will only cover a small area with the kicking foot.
Unity supports multiple colliders by having child objects with a collider component (not to confuse with compound colliders, a similar setup where the parent is the object receiving the collisions from every child collider and they effectively work as a single collider).
ANIMATED COLLISIONS:
As far as I understand, only box colliders animate at the moment. There are many cases when this is not enough. For example, if you have a human character leaning or bent forward and you want accurate collisions (say, to detect incoming attacks), you can't just use a box, since this will either leave out half of the character, or include a lot of empty space.
It has been stated before in these forums that mesh colliders don't animate because their mesh needs to be recreated every frame. I wonder if, given the restriction of all colliders for frames within an animation having the same geometry, it wouldn't be possible to simply update each of the collider's vertex positions when changing frames.
If updating colliders on the fly doesn't definitely work and the mesh had to be recreated on each frame change, that might still be useful. Say you have a big boss that you want to apply a polygon collider to, and it has 12fps animations. I guess recreating the mesh 12 times per second wouldn't be prohibitive if the mesh creation function is optimited enough (but I might be wrong here).
Even without the option of animating polygon colliders, this could be approximated if multiple colliders per sprite were allowed, by using several boxes to cover (approximately) the same area as the polygon collider and then animating each of the boxes.
I need a quick solution for my game because I have some deadlines coming soon, so I'm implementing multiple colliders myself by hacking 2D toolkit in a dirty and ugly way. However, I don't know if I will get it working, since I'm still beginning to understand how 2D Toolkit works internally. I guess official support for the things mentioned above would be a great addition and benefit everyone else.