Hi Epic, I discovered this bummer recently:
Currently OnBeginOverlap does not return usefull positional information, when the overlapping actor did not use sweeping movement. I have not found a solution anywhere to recover this data without buggy edge cases. A guy on the Answer Hub suggested this:
“There is a work around solution but is quite a hack: You can use onHit events and disable the contact forces generated in physX. Therefore you get the FHitResult (contact normals, contact points etc), while the objects overlap.”
This would make the event so much more usefull. Since the information is there in the engine, it would be a shame to not expose it. I am currently working on a game that heavily relies on physics and the overlap event is essentially useless, since I want to apply forces at overlapping positions, and none of my actor uses sweeping movement. It’s driving me crazy. There is also a tremendous amount of confusion about this on the Answer Hub, people stumble about this quite often as it seems.
If I haven’t found the solution to this problem yet, please tell me, but as far as I know I have no 100% reliable way of knowing where a physically moved actor is penetrating my other actor the deepest. If I sweep manually there will always be problems with maybe missing a spot if the actor is shaped in weird way.
best regards, Simon