How to know which Collider fires Trigger event

I have an object hierarchy with multiple coliders, and the parent has a rigidbody on it. I have learned now that each collider will cascade it’s collision messages up the hierarchy to the first rigidbody it finds.

The method signature for collisions is: OnTriggerEnter2D(Collider2D other), which allows me to know what has collided into my object. However, since I have multiple colliders on my object that could have generated this message, I don’t currently know which part of my object was collided into. Is there an easy way to know which one?

If I understand your situation correctly, you’ve created a compound collider. The main purpose and design of compound colliders is to act as one, and they also notoriously don’t play nice as triggers (see, for example, Rigidbody Trigger Collider vs. Static Collider no OnTriggerEnter message - Questions & Answers - Unity Discussions, in which even a Unity core dev isn’t sure of their behaviour!)

OnTriggerXXX messages cascade up the object hierarchy until a Rigidbody is found, so if you want to know which child collider was hit, give each its own Rigidbody.