Skip to main content
Whenever your game moves a player’s character with PivotTo, a direct CFrame assignment, TeleportService, or any other server-side teleport, you should call AllowTeleport first. It opens a short exception window covering all movement checks so the anticheat system does not flag the sudden positional change. AllowTeleport is a focused shorthand - it is equivalent to calling BeginMovementException with all five checks enabled, but with a simpler parameter set.

Signature

Parameters

Player
required
The Player instance to grant the teleport exception to.
number?
How long, in seconds, the exception window should remain open. If omitted, Trace uses a short default window sufficient for most instantaneous teleports. Pass a larger value when the teleport may take several seconds to complete (for example, when using TeleportService across places).
string?
A human-readable description of the teleport. Written to Trace’s moderation logs and visible in the Trace dashboard.

Returns

string?
A token you can optionally pass to EndMovementException if you need to end the exception before duration expires. For fire-and-forget teleports you can discard this value and let the exception expire naturally. Returns nil on failure.
string?
A description of what went wrong. Only present when token is nil.

Examples

Round spawn teleport

Open a 2-second window, then move the character. The window expires on its own:

Cross-place teleport with TeleportService

Use a longer window to cover the time TeleportService takes to initiate the transfer:
For short, one-shot teleports you can also use WithMovementException with Checks = {"Teleport"}. It is equally effective and automatically cleans up the exception the moment your teleport call returns - no timer needed.