Fast travel between Rest Sites
How WSRF evaluates, accepts and completes same-world and cross-world fast travel — eligibility, project-owned travel costs, arrival options, streaming and the fast travel events.
WSRF owns destination state, same-world and cross-world travel orchestration, streaming waits, placement, and exact-once completion. Your project remains responsible for game-specific restrictions and costs, through the Project Bridge hooks on this page.
Travel is always explicit. The native FastTravel
menu action opens destination selection —
calling Execute Rest Action with FastTravel directly returns Requires Destination Selection;
WSRF never chooses a destination arbitrarily. Travel begins only through Request Fast Travel
with an explicit destination.
Requesting travel
| Node | Purpose |
|---|---|
Evaluate Fast Travel Destination / Evaluate Fast Travel Destinations | Authoritative, side-effect-free availability result used by both the UI and execution |
Request Fast Travel | Accepts an explicit Activated destination; supports same-world and cross-world travel |
Request Same World Fast Travel | Explicitly restricts the operation to the current world |
Continue Fast Travel Transition | Releases a Manual Continue transition barrier |
Only one Rest Site operation is active at a time: a second Fast Travel, Rest, Respawn or Quick
Load request is rejected as Busy while an operation is in progress. Rejected requests return a
ticket with bAccepted = false and do not emit Started; every accepted operation completes
exactly once.
Destination eligibility
Evaluate Fast Travel Destination is the authoritative read-only evaluation used by both the
default menu model and travel acceptance. It reports whether the destination is current,
same-world or cross-world, available, and why it is unavailable.
Only Activated destinations are executable. With the default
Show Discovered Destinations As Locked setting enabled, Discovered but non-Activated sites still
appear in the menu as locked rows. Destination-specific capability also depends on the effective
Fast Travel Enabled setting, the site’s Travel Group (set a Travel Group when only matching
groups should travel together), live destination validity, World Identity, the arrival transform,
and Project Bridge preflight.
Override Can Fast Travel To Destination on the configured Project Bridge for project rules such
as combat, quests, required items, currency checks, or cooldowns. This hook is evaluated when the
menu model is built, before acceptance, and again immediately before placement.
The preflight hook must be pure
Can Fast Travel To Destination is evaluated multiple times per travel. Do not remove items,
charge currency, or mutate gameplay in this hook — use the cost lifecycle below instead.
Project-owned travel costs
WSRF does not own currency or inventory. The Project Bridge exposes three optional hooks that implement a reservation lifecycle:
| Hook | When it runs |
|---|---|
Prepare Fast Travel Cost | Reserves the project-owned cost immediately before acceptance |
Commit Fast Travel Cost | Commits it exactly once after the Pawn has been placed successfully |
Cancel Fast Travel Cost | Releases it exactly once if an accepted travel fails before placement/commit |
The default implementations are successful no-ops. Do not charge a cost from
On Fast Travel Started.
Presentation and transition
On Fast Travel Presentation Requested is emitted once for an accepted travel. It supplies the
operation ID, source, destination, player context, the effective Fast Travel Presentation
configuration, and whether the operation crosses worlds. Sound, VFX, montage, Level Sequence, and
custom fades remain optional project presentation.
The Immediate, Next Frame, and Manual Continue transition barrier applies to fast travel exactly
as it does to the other Rest Site operations; release a Manual Continue barrier with
Continue Fast Travel Transition.
Arrival
The live destination is re-resolved and revalidated immediately before placement. WSRF places the player at the destination’s Fast Travel Arrival Point, never the Player Respawn Point — the two anchors are independent (see Respawn). A missing explicit Arrival Point keeps the legacy component-transform fallback for backward compatibility and reports a warning; invalid or non-finite transforms are rejected and never replaced with World Origin.
Three designer options control what happens after arrival, configurable in Project Settings:
| Option | Default | Effect |
|---|---|---|
Set Destination As Current | Enabled | The successful destination becomes the Current / Last Activated Rest Site — updated only after successful player placement |
Reset Region On Arrival | Disabled | Resets the destination region after arrival |
Save On Arrival | Disabled | Requests the configured save after arrival; requires effective Save Enabled and a non-Disabled Save Mode |
Once Pawn placement succeeds, the player has arrived. A later Reset On Arrival, Save On Arrival,
or project cost commit problem completes as Succeeded With Warnings; WSRF does not roll the
player back or report that travel never happened.
Cross-world validation
Request Fast Travel supports cross-world destinations. Cross-world travel validation honours a
renamed world only through the explicit World Identity Redirects table in Project Settings —
no heuristic rename matching is performed — and the destination must still pass live World
Identity validation after loading.
Level Instances and streamed content
WSRF can resolve a Rest Site inside a Level Instance when that instance is available and
instantiated. WSRF does not create or manage project Level Instances. If a project deliberately
keeps an instance unavailable, prepare it through the Project Bridge or the project’s existing
streaming workflow before travel can resolve the live destination — the
Prepare Fast Travel Destination hook lets the project make required Data Layers available.
Failure fallback
Accepted travel failures use the Handle Travel Failure Project Bridge contract: the project may place the player at a game-specific fallback. WSRF guarantees a single final result, never falls back to World Origin, and never automatically travels back to the source.
Events
| Event | Meaning |
|---|---|
On Fast Travel Started | The travel operation was accepted |
On Fast Travel Presentation Requested | Emitted once per accepted travel, with the full presentation context |
On Fast Travel Completed | The final structured result, exactly once |
Destination rows in the default menu display each site’s thumbnail — see Thumbnails for the capture workflow and Menu UI and Widgets for replacing the fast travel view. For the Rest Site module as a whole, start at the Bonfire & Checkpoint overview.
Last updated: 2026-09-04