How can I differentiate between colliding with an object or its child?

alt text

When I fire an arrow (red arrows) into another other object (blue cubes) it checks the object’s tag via raycast and then parents itself to that object if the tag matches (left cube). The problem is that after the parenting, the object treats the arrows as a part of itself (even though the arrows are tagged differently), and so if an arrow hits another parented arrow they keep sticking together really stupidly in an ever growing row (middle cube).

Is there a way I can ignore the parented arrows when doing the raycast so that the new arrows are only parented to the object (blue cube) and not to the arrows already parented (right cube)?

Ah, I worked it out. There seems to be a difference between having the children “Untagged” and actually tagged differently from the parent. I thought that since the children weren’t tagged they would be detected as different to the parent which had a tag set. When I set every arrow with an actual tag (different to the parent of course) the arrows aren’t sticking together anymore.

So having the children simply untagged doesn’t do it, because I suppose they assume the tag of the parent. They need be tagged but tagged differently. Thanks for your help robertbu