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.
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 Instance.new instead of a dedicated global. There’s much less API clutter this way.
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.
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.
cursed
Especially TeleportAsyncResult, it doesn’t even have any extra methods, just extra properties.
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.
THIS IS AWESOME!!!
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?
I don’t get it. As @sjr04 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.
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)