OnTriggerEnter is not called on both objects

I have 2 exact same gameobjects which has a child gameobject with boxCollider(isTrigger on) and rigidbody in it, and also another child gameobject with sphereCollider(isTrigger on) and script in it.

The problem is, when I change the transform.position of one of the gameobject (gameobject A), the OnTriggerEnter in the script only sent to the moving one(gameobject A), not the other(gameobject B). How to send to both OnTriggerEnter?

Also, after they move close enough to trigger, when I change the transform.position of another gameobject(gameobject B), the OnTriggerExit is only sent to gameobject B but not gameobject A.

Thanks.

Im pretty sure onEnterTrigger is only called if the object that enters it moves into it, if you want both to be called, and your not sure both will be moving at that moment, you could make sure that once a ontrigger is called in either, it calls a function at the other object (for example a simple public function called SomeOneEnteredYourTrigger() )