Floating Pawn Movement gets launched on teleport

I got this same issue recently. I think it is due to the fact that FloatingPawnMovementComponent calculates velocity by a delta between the last frame and the current frame. In TickComponent of FloatingPawnMovementComponent.cpp you can see the issue here.

		// Update velocity
		// We don't want position changes to vastly reverse our direction (which can happen due to penetration fixups etc)
		if (!bPositionCorrected)
		{
			const FVector NewLocation = UpdatedComponent->GetComponentLocation();
			Velocity = ((NewLocation - OldLocation) / DeltaTime);
		}

I have been following Nawrot’s suggestion of making a new movement component just to know what is going on in there, but you could also probably set the movement mode to None or find another way to skip the update as seen below and skip updating the velocity on the frame after the teleport and that could do it, but is pretty hacky imo

void UFloatingPawnMovement::TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction)
{
	if (ShouldSkipUpdate(DeltaTime))
	{
		return;
	}