So this has only come up after updating to UE 4.10. There’s a couple of situations in the game i’m making where overlaps are triggering even though the actor that’s supposedly triggering them is nowhere near the overlap collision.
Case 1 - Door teleporting -
I’m using a system to generate random levels from rooms where walking into a doorway will teleport you to another doorway in a different room. What’s supposed to happen is the character walks into an overlap box and that teleports them to the other door, but what’s happening instead is the character teleports to the door, then somehow starts overlapping with the original overlap box from the first door and tries to teleport again. I’ve stopped it doing this by testing if GetActorLocation for the player is within 1000 units of the first door, but how can a begin overlap event possibly be triggering if the character is more than 1000 units away? Here’s an output log:
TestDoorTemplate3 is the first door, StonePanelGameMode1269 is the second door (good names i know). The ExitVolume is the overlap trigger that teleports the player. So it collides with the overlap trigger, the float is the distance from the door which is within 1000 units so it does the teleport and clearly suceeds because it starts overlapping with components from the other door (StonePanelGameMode1269). Then for some reason it appears to jump back to the first door, ending the overlaps with the second door and beginning overlaps with the first door again. Only the distance this time is too great to teleport, the character is 20000 units away and clearly not anywhere near the first door. What’s going on? Then it seems to realize this and start overlapping with the second door again and stop overlapping the first one. Everything in this ouput log happens in a single tick as far as i’m aware.
Case 2 - Enemy Spawning -
There’s a system set up so that enemies spawn in a room when you walk into it. However enemies are spawning and immediately being killed by a volume far beneath the room which is supposed to kill enemies that fall out of the room. I told the volume to draw debug points at the enemies’ actor locations when it kills them, it draws them on the spawn points. The spawn points are nowhere near the kill volume. What? How are these overlaps triggering?
None of these things were causing issues before I updated from 4.8 into 4.10. I tried updating to 4.9 as well and had the same problems. What did they change to cause these weird overlap issues?