Teleporting while seated

Small question, I recently noticed that if you set a player’s HumanoidRootPart CFrame while the player is sat in a seat, the seat CFrame’s along with the player.

Has this always been this way and is this behaviour intended?

Removing a SeatWeld whenever a player wants to teleport seems a bit weird.

It has always been this way I remember year ago I remember seeing this bug in a couple of games not sure if it is intended though

You can avoid this by doing something similar to this:

local function Teleport()
	-- whatever.
end

if Humanoid.SeatPart then -- Is the player sitting in a seat?
	Humanoid.Jump = true -- Make them jump in order to teleport them without the seat.
	Teleport()
end

I prefer just deleting the weld itself rather than jump,

if Humanoid.SeatPart then
    Humanoid.SeatPart.SeatWeld:Destroy()
end

That’s fine as well, I just provided some pseudo-code after all.