Roblox Teleport Script
Copy a free teleport example, learn where it goes, then describe your own version.
Example: “A teleport pad that moves the player to the Lobby part”
ScriptWorkspace › TeleportPad-- Touch the pad to teleport to the Lobby partlocal Players = game:GetService("Players")local pad = script.Parentlocal target = workspace:WaitForChild("Lobby")local cooldown = {}pad.Touched:Connect(function(hit) local character = hit:FindFirstAncestorOfClass("Model") if not character then return end local player = Players:GetPlayerFromCharacter(character) local root = character:FindFirstChild("HumanoidRootPart") if not player or not root or cooldown[character] then return end cooldown[character] = true character:PivotTo(target.CFrame + Vector3.new(0, 4, 0)) task.delay(1, function() cooldown[character] = nil end)end)Where to put it
- Open your own experience in Roblox Studio and show the Explorer and Output panels.
- Two anchored parts in Workspace: TeleportPad and Lobby.
- Insert a Script at
Workspace › TeleportPad. - Paste the code, press Play and test the behavior. Read Output if anything fails.
Line by line
1. Finds the Lobby part where players should arrive.
2. Moves the whole character four studs above the target.
3. Uses a one-second cooldown to prevent repeated teleports.
Common mistakes
Names are case sensitive. A LocalScript needs a client execution context, while server data and permissions belong in a Script. Test with multiple players before publishing.
Teleport script FAQ
Does this work in any Roblox game?
Has this example been verified in Roblox?
Can I customize the example?
Set up and troubleshoot this Roblox teleport pad
This example is a touch-triggered teleport for a place you can edit in Roblox Studio. It uses a server Script so the destination is shared by everyone and the server decides which character moves. The source code above is a starting point; it has not been run against your experience.
Prepare the two Parts
Put anchored Parts named TeleportPad and Lobby directly in Workspace. Insert the Script inside TeleportPad, keep CanTouch enabled, and leave clear space above Lobby for the character. The example waits for a child of Workspace with the exact name Lobby.
Follow the touch event
A character can touch the pad with several body parts. The code finds that part's character Model, checks that it belongs to a player, then finds HumanoidRootPart. A one-second per-character cooldown stops a burst of touch events from teleporting the same player repeatedly.
Understand the destination
character:PivotTo moves the whole character to the Lobby Part's CFrame plus four studs upward. Change the Part name in both Studio and the code if your destination is different. Adjust the height only after testing a full-size avatar so it does not intersect the floor or ceiling.
Test in Studio
- Open View → Explorer and View → Output, then press Play.
- Walk onto TeleportPad; confirm you arrive above Lobby.
- Walk off and touch it again after a second.
- Run a two-player test so you can confirm only the touching player moves.
If it does not work
Infinite yield for Lobby: check spelling and make sure Lobby is directly under Workspace. No touch event: check CanTouch on the pad and the character, and make sure the Script is enabled. Wrong landing spot: move Lobby, increase clear space, or change the four-stud offset. Moves repeatedly: the destination may overlap the source pad; separate the Parts before changing the cooldown.
Roblox documents the underlying Touched and CanTouch behavior and the PivotTo method. For more practice, read where Roblox Scripts belong.