Discovery and activation
The monotone Undiscovered to Discovered to Activated state machine — discovery and activation modes, the authoritative activation order, save coalescing, events and persistence.
Rest Sites use one monotone state machine:
Undiscovered → Discovered → Activated
State never moves backward during normal reset. Discovery and Activation are persisted with Rest Site save data.
Discovery modes
| Mode | Behavior |
|---|---|
| Manual | The project calls Discover Rest Site explicitly. |
| On Proximity / Overlap | Entering the existing Rest Site interaction/proximity volume discovers the site once. |
Discovery does not imply Activation. This supports the common flow “enter an area to reveal the checkpoint, then interact to activate it.”
Discover Rest Site remains available to Blueprint in every mode.
Activation modes
| Mode | Behavior |
|---|---|
| Manual / Blueprint | The project calls the subsystem’s Activate Rest Site coordinator. |
| Interaction | The provided WSRF interaction activates an inactive site; later interactions use the normal menu flow. |
| On Proximity / Overlap | Entering the existing proximity volume asks the same coordinator to activate the site. |
The provided interaction is optional. A project with its own interaction framework calls Activate Rest Site directly and does not need to depend on WSRF input handling.
Activating an Undiscovered site first performs Discovery. No second state machine or Demo-specific shortcut is involved.
Authoritative Activation order
On the first successful Activation, the subsystem:
- validates the live Rest Site and operation state;
- rejects re-entry;
- discovers it if necessary;
- performs the monotone Activated transition;
- sets Current Rest Site and Last Activated Rest Site for the local player;
- emits the central state events;
- emits On Activation Presentation Requested;
- runs the existing Rest pipeline when Rest On First Activation is enabled;
- requests the configured save when Save On Activation is enabled and it was not already satisfied by first Rest;
- opens the Rest Menu when Open Menu After Activation is enabled.
If first Rest is enabled, the menu opens only after that Rest finishes.
Save coalescing
When Rest On First Activation and Save On Activation are both enabled, first Rest’s save request also satisfies Save On Activation. WSRF produces one captured payload and one save route, not two saves.
Every automatic save is gated by:
Save Enabled AND the specific Save trigger AND Save Mode is not Disabled
See SaveGame integration for the save modes themselves.
Events
- On Rest Site State Changed remains the general compatibility event.
- On Rest Site Discovered fires once for a real Discovery transition.
- On Rest Site Activated fires once for a real Activation transition.
- On Rest Site Became Current is emitted by the central Current authority.
- On Activation Presentation Requested supplies the Rest Site, player context, effective presentation configuration, optional message, and activation-sound state.
Repeated Discover or Activate requests are idempotent. They do not replay first-activation behavior or duplicate transition events.
Presentation
Discovery and Activation messages are optional, localizable FText values. Empty or disabled messages produce no notification. Activation VFX, sound, Player Montage, and Level Sequence are optional presentation data delivered through the presentation request; WSRF does not require a specific character skeleton or UI.
The Activation Sound can be handled by the supplied presentation path. Project-specific VFX, montage, sequence, and notification styling remain replaceable — see Rest Site UI customization.
Persistence and Current Rest Site
Discovered sites, Activated sites, and Last Activated Rest Site are stored in Rest Site save data. Current Rest Site is transient and is reconstructed from Last Activated Rest Site after load; there is not a second duplicate persistent checkpoint field.
Normal Rest and region reset do not deactivate a Rest Site.
Blueprint examples
Custom interaction:
Project interaction → Activate Rest Site
Automatic Discovery:
Player overlap → Discovered → project interaction → Activated
Automatic checkpoint:
Player overlap → Discovered → Activated
No C++ is required for these workflows.
Last updated: 2026-09-04