What's a better way to check if player passes a certain point?

Currently I am using a trigger collider to detect if player enter the trigger. But in my case, there are 2 colliders on the player object, one on parent and one in child. This will cause the OnTriggerEnter event fires 2 time.

I also intend to remove the trigger collider and use if statement to compare 2 positions, see if they are close enough, something like (targetPosition - playerPosition).Magnitude <= 0.1f. The foreseeable problem is it’s going to be true as long as player lies in -0.1 to 0.1 range. One work around I can think of is put a waitforseconds in the if statement, but I feel it’s not robust enough.

I am wondering what’s a proper way to accomplish this situation.

Just put a tag on one of the 2 colliders and check triggers only against the tag.

They have to be tagged as “Player”, as it’s the tag to trigger pick up event.