Using OnCollisionEnter should get you the name of the collider currently being hit. For example, attaching the following to each of the children you want to monitor:
function OnCollisionEnter(){
print(gameObject + " has been hit");
should print the name of the child it’s attached to to the console.
I was searching for ages for a solution and this is it. For anyone interested, here is a sample message for OnCollisionEnter which helps explain the process.
void OnCollisionEnter(Collision collision)
{
//My character is a parent player with two children, each of the children
//has a collider on. One child is tagged "Player_Head", the other is
//tagged "Player_Jacket" (you could also use cp.thisCollider.gameObject.name).
//As far as I know, collision.contacts is the only place where "thisCollider"
//can be found.
ContactPoint cp = collision.contacts[0];
if (cp.thisCollider.gameObject.tag == "Player_Jacket")
{
print("Jacket hit");
}
}