Quick Start
Add the state component, pick a preset and a region, call one node, and see your first world reset in under five minutes.
Six short steps, no C++, no GUIDs to manage. Stable IDs and streaming identity are automatic.
1. Enable the plugin
Edit → Plugins, search for World State Reset Framework, tick Enabled, restart the editor.
Details are in Installation.
2. Add the component
Select any Actor in your level and add WSRF State Component.
Its Details panel is ordered Quick Setup → Behavior → Advanced. Everything you need for a first reset is in Quick Setup.
Or skip steps 2 to 4 entirely: select one or more Actors, right-click, open World State Reset
Framework, and choose a preset directly — WSRF adds the component if needed, assigns a Stable ID
and assigns WSRF.Region.Default. The same operation works on an Actor Blueprint in the Content
Browser; every placed instance receives its own Stable ID.
3. Pick a preset
Choose a Behavior Preset:
| Preset | Use it for |
|---|---|
| Enemy | An Actor that should return after rest, death or a region reset |
| Boss / Elite | An Actor that stays defeated permanently, even after resting |
| Breakable Prop | An Actor that may be genuinely destroyed |
| Permanent Shortcut | A change that must remain |
| Unique Pickup | A one-time consumed Actor |
| Trap | A resettable armed state |
| Runtime Actor | A temporary spawned Actor |
The preset fills in the reset triggers, the persistence mode, the restore strategy and the runtime-spawn behaviour for that role. All of it stays editable afterwards.
4. Pick a region
Under Region, choose a Gameplay Tag — WSRF.Region.Default works immediately. Create your own
child tags when your map needs them, for example WSRF.Region.Dungeon.
5. Call Reset World Region
From any Blueprint — your checkpoint, a bonfire, a debug key:
Get World Subsystem (WSRF World State Subsystem)
-> Reset World Region
Region = WSRF.Region.Default
Reason = WSRF.Reset.Rest
Initiator = self
Include Child Regions = true
-> Break FWSRFResetReport
Restored / Respawned / Removed / Failed
The node returns an FWSRFResetReport synchronously, so you can log or branch on the result in the
same frame. Judge the outcome with Was WSRF Reset Successful on the returned report.
The call must be made on the Game Thread. A reset requested from inside another reset callback
enters a FIFO queue and executes after the active operation — its immediate report is a queued
placeholder, not a completed success. Use its OperationId to match the final report delivered by
the world or region completion event.
Reason has to match
A record only responds to a reset whose Reason tag is in its Reset Triggers. The shipped
presets already include the usual reasons — WSRF.Reset.Rest, WSRF.Reset.PlayerDeath,
WSRF.Reset.Checkpoint, WSRF.Reset.Region, WSRF.Reset.EncounterRestart, WSRF.Reset.Manual.
If nothing happens, this is the first thing to check.
6. Play
Press Play, change the world — kill the enemy, break the prop, open the door — then trigger your
reset. Managed Actors return to the state captured one tick after their owner’s BeginPlay.
Try the demo
The plugin ships a playable map that demonstrates every behaviour at once:
/WorldStateResetFramework/Demo/Maps/L_WSRF_Demo
Enable Show Plugin Content in the Content Browser to see it. Press Play — the on-screen HUD shows the current interaction and test controls.
The demo covers selective reset, the persistence policies, Rest Site Discovery, Activation, Rest, Fast Travel, Respawn, Quick Save / Quick Load and a Custom Rest Action. The current controls are documented in the Demo Guide.
What to read next
- Storing your own gameplay values: Custom state and dependencies.
- Actors that are truly destroyed: Destroyed Actors and respawn.
- Saving permanent changes: Persistence adapter.
- A World Partition map: World Partition and World Manifest.
What you did not have to do
You did not create a GUID, register anything by hand, build a manifest, or write a save file. Those exist for the harder cases and are documented under Streaming and Persistence — they are not part of the first five minutes.
Last updated: 2026-09-04