Roblox UtilitiesDevlHub Roblox Documentation

Class

TeleportOptions

Inherits
Instance › Object
Memory category
Instances

Optional input arguments to the TeleportService:TeleportAsync() function.

This class is an optional parameter to the TeleportService:TeleportAsync() function that allows developers to provide arguments for the teleport call.

Certain arguments in this class are not compatible with each other and cause an error when passed to TeleportService:TeleportAsync():

  • ReservedServerAccessCode + ServerInstanceId
  • ShouldReserveServer + ServerInstanceId
  • ShouldReserveServer + ReservedServerAccessCode

For more information on how to teleport players between servers, see Teleporting Between Places.

Properties 3#

ReservedServerAccessCodestringThe reserved server access code that indicates the reserved server that the teleport should be to.ReadSafe
ServerInstanceIdstringThe DataModel.JobId of the server instance to teleport to.ReadSafe
ShouldReserveServerbooleanA flag to indicate if a reserved server should be allocated and the players should then be teleported to this allocation.ReadSafe

ReservedServerAccessCode: string#

ReadSafe

This property indicates the reserved server access code for the reserved server that the user(s) should be teleported to.

The access code is obtained either from TeleportService:ReserveServerAsync() or from TeleportAsyncResult.ReservedServerAccessCode.

For more information on how to teleport players between servers, see Teleporting Between Places.

ServerInstanceId: string#

ReadSafe

This property indicates the DataModel.JobId of the server instance the user(s) should be teleported to.

For more information on how to teleport players between servers, see Teleporting Between Places.

ShouldReserveServer: boolean#

ReadSafe

This property indicates whether the teleport call should create a new reserved server. When set to true, a reserved server will be created and the player(s) will be teleported to the new server.

If set to false, the player(s) will be teleported to the public server with the specified TeleportOptions.ServerInstanceId if provided. When TeleportOptions.ServerInstanceId is blank or no matching server is found, a new public server will be created to teleport the player(s) to.

For more information on how to teleport players between servers, see Teleporting Between Places.

Methods 2#

GetTeleportDataReturns the teleport data stored in the TeleportOptions instance by TeleportOptions:SetTeleportData().
SetTeleportDataSetter function for data to be passed to the destination place.

GetTeleportData(): Variant#

This function returns the teleport data stored in the TeleportOptions instance by TeleportOptions:SetTeleportData().

Once a player has teleported, teleport data can be retrieved using the Player:GetJoinData() and TeleportService:GetLocalPlayerTeleportData() functions.

For more information on how to teleport players between servers, see Teleporting Between Places.

Returns

SetTeleportData(teleportData: Variant): ()#

This is a setter function for data to be passed to the destination place. On the destination place, this data can be retrieved using Player:GetJoinData() or TeleportService:GetLocalPlayerTeleportData().

For example, the following snippet would send the DataModel.PlaceId and DataModel.JobId in a dictionary passing the teleport data in a TeleportOptions instance using TeleportOptions:SetTeleportData():

Luau
-- Server
local teleportOptions = Instance.new("TeleportOptions")
local teleportData = {
    placeId = game.PlaceId,
    jobId = game.JobId
}
teleportOptions:SetTeleportData(teleportData)
TeleportService:TeleportAsync(game.PlaceId, {player}, teleportOptions)

This data could then be retrieved upon arrival using the GetLocalPlayerTeleportData() function as follows:

Luau
-- Client
local TeleportService = game:GetService("TeleportService")

local teleportData = TeleportService:GetLocalPlayerTeleportData()
if teleportData then
    local placeId = teleportData.placeId
    local jobId = teleportData.JobId
end

If no teleportData was set in the teleportation function this GetLocalPlayerTeleportData() will return nil.

Allowed data types#

Teleport data may only contain value types. It cannot contain Instances or other types that reference engine state, as these cannot safely cross the boundary between servers.

Allowed:

  • Primitives: bool, number, and string
  • Value types such as Vector3, CFrame, Color3, UDim2, NumberSequence, ColorSequence, Enum items, and similar
  • Tables and arrays (without mixed keys) containing only the allowed types above, nested up to a reasonable depth and size

Not allowed (these will be removed from the data before the teleport completes):

If teleport data contains a disallowed type, that value is removed and an error is written to the developer console. Convert instance references to plain values (for example, a numeric ID or a string path).

For more information on how to send and receive user data along with teleports, see, see Teleporting Between Places.

NameTypeDefaultDescription
teleportDataVariantData to be passed to the destination place.
Returns
  • ()

Inherited members#

Inherited from Instance 58
Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed