I encountered an issue in a recent version of Unity, where it seemed that triggers were firing one frame later than expected. It seems the behavior for triggers is that the engine only fires the trigger event when two colliders overlap for two consecutive frames. On the initial frame, as one collider begins to overlap another, the trigger enter event does not fire.
I reported this to Unity, but was told it’s just the way PhysX works, and has worked for 6+ years (https://issuetracker.unity3d.com/issues/collisions-are-detected-one-frame-later-than-they-occur)
I was wondering if there was more information on this? I’m able to use other physics methods to test whether one collider overlaps another (in Unity, it’s Physics.OverlapSphere) and I get accurate results with this approach. So I was wondering why specifically with triggers the results are less accurate, and only fire when overlap persists across multiple frames? Since this has been the case for so long, I assume it’s not considered a “bug”, but it’s inconsistent with the behavior of other scene queries, and therefore I’m confused about the reasoning.