AddActorWorldOffset with Teleport inside ActorBeginOverlap changes player velocity

CARTER!
Wed, 11 May 2016 15:34:24 +0000
Blueprint

I’m trying to make a trigger box that teleports the player by an offset. I created a Blueprint subclass of TriggerBox and added this script to it:

When the player (a DefaultPawn) touches the box, I would expect them to be teleported 2000 cm to the right and their velocity to not change. However, what actually happens is when the player touches the box, they are launched to the right at a very high velocity. They end up outside my level’s BP_Sky_Sphere in a matter of seconds.

If I add a Delay block with a duration of 0 to the blueprint script, like this:

The teleporter works correctly, changing the player’s location without changing their velocity. This is kind of strange, since a delay block with a duration of 0 should in theory be a no-op.

Using “Teleport” or “Set Actor Location” instead of AddActorWorldOffset results in the same behavior. Unchecking the “Teleport” option in AddActorWorldOffset also results in the same behavior.

7 posts - 1 participant