How to warp a collider without causing OnTriggerEnter()?

I have two objects with box colliders. Object A has the Is Trigger box ticked. Object B does not. On Object B I have a script with void OnTriggerEnter(Collider other). Everything works as expected under normal circumstances: if the two collision volumes intersect, the OnTriggerEnter() is called.

However, I want to warp Object A from one location in the world to another without triggering a collision. If the move from the start position to the final position passes through Object B, then OnTriggerEnter() is called. I assume this is by design, so that collisions that would occur in an analog world are detected in this discrete-step world, the bullet-through-paper problem. In my case, I want to disable collisions during that warp.

I have tried setting the collider.enabled to false on Object A, which does work, but I cannot figure out when to turn it back on. I tried waiting a few FixedUpdate calls, then turning it back on, but I still get OnTriggerEvent() call. Also tried doing the same in the regular, non-fixed Update() function, still the same problem. I can even see the object get rendered in the new location with collider.enabled = false, then when it is turned back on, it triggers.

Any ideas how to accomplish this?

You have to edit the Layer Collision Matrix (Edit > Project Settings > Physics) so your GameObjects layers won’t interract.

Here is the doc: