New Teleport API: Now Available For Everyone

Hey developers,

The Teleport service is an important tool used to transport players from place to place inside and across Roblox games. With many APIs to choose from, however, we believe it is confusing to use and adds unnecessary complexities in your code logic.

As a result, we’re excited to launch a new API — TeleportAsync() — that covers all the current functionality and allows you to write much more simplified code! Check out our [reference] documentation and our Teleporting Between Places article to learn more! A tutorial will be coming soon!

Please note that the existing teleport APIs such as TeleportToSpawnByName will continue working but may be deprecated in the future.

Happy building!
Developer Services Team


This simplifies things greatly! Much needed change, for sure!

TeleportService has a bad reputation of being unreliable and therefore unusable in large scale scenarios. I’m curious, has there been backend improvements to TeleportService along with this?


I really like what I see. I especially like that TeleportOptions are created using instead of a dedicated global. There’s much less API clutter this way.


I wonder if this change was sparked by some certain junkbots… good update nevertheless


Does this come with any improvements to the overall performance and consistency of TeleportService?

As of last I checked far too much teleporting in many games I play (including my own) breaks or takes an incredible amount of time to execute the teleportation.


The more simple, the more easier it is for developers to work, yay!


Could TeleportAsync be used to teleport players to a player-owned Private Server? This is functionality that I would like to have for my game but has been missing from previous API


And I find it weird that TeleportOptions inherits from Instance instead of being its own datatype lol. Seems inconsistent with other api overhauls, like the raycasting api.


Especially TeleportAsyncResult, it doesn’t even have any extra methods, just extra properties.

But that is just my opinion.


This is good! Thank you for simplifying this. The before-ways to do this were heavily overcomplicated and oversaturated. This seems to be far easier and better to use.

not only does this simplify things a bit more it also saves scripting space!
I have one question those will the old teleport service be decapitated or will stay around?

1 Like

How will we do teleportData and customLoadingScreen now?

Is TeleportToPrivateServer and ReserveServer going to be depracated?

I recently finished making my own private server system, so now Im concerned and a bit annoyed, because I dont know if this will impact it or not


I don’t get it. As @incapaz mentioned, why do we need to create instances for our options? You don’t seen TweenInfo being an instance, as well as Raycasting API (as mentioned previously), wouldnt this also cause issues if we’re using the TeleportService for a large amount of diverse teleportations, such as a lobby for example?

Creating a hundred parts instanced to nil obviously isn’t good for performance (not that it necessarily impacts it a bunch), so why would this be good either?

I can understand this being user friendly for people starting out, but overall it just makes no sense to me, it’s inconsistent (mentioned by other users as well) and just doesn’t feel right, I can’t name another service that acts like this.


That’s awesome!
But after all, will basic teleport service going to be removed?


there is broken html or something on this page


This seems great! Can’t wait to test out! I love how we are getting a bunch of improvements to API’s and overall Roblox!

I will NOT be switching over to this unless its necessary, this really limits what we could do before, like custom loading screens and getting reserved server accesscode before actually teleporting.

If Roblox depracates old functions like ReserveServer, TeleportToPrivateServer and TeleportToPlaceInstance, I will be FURIOUS since my game uses all 3 of those


Chiming in on this, having that as a feature would make it so much easier to do Private Servers for a game with instance teleporting back and forth with a “lobby” world. To accomplish that today, you basically need to teleport players to a reserved server of the lobby as they join the Private Server, so that you can teleport them back to that reserved server again, which wastes loading time / performance / bandwidth and is more prone to failure.

What could be even better is if this was handled automatically for us: when in a Private Server, any teleport you do keeps you within a bubble of servers that are specifically allocated for that Private Server. That way most universe games out there automatically have this problem solved without much developer effort needed. You could just teleport them back to the lobby and it would know to put them back in the original Private Server. (Manually invoking teleports between Private Servers is still useful for other use cases, though)


Pretty well update, but it makes no sense.

it is a good update, but its not needed I think API were already simple and im being scared of it getting limited as it supposed to.

Still good job roblox.


This is great! I could really use this for my games. :smiley: