World State Inspector
The editor-native inspector for WSRF worlds — statistics, filters, Stable ID repair, PIE reset preview and the reset report.
Open it from Tools → World State Reset Framework → World State Inspector.
The Inspector is the answer to “what does WSRF actually think is in my level right now” — in the editor before you play, and in PIE while the world is changing.
World selector
The selector lists Editor worlds and any active PIE world. Some actions are Editor-only, some are PIE-only, and the Inspector enables or disables them accordingly instead of failing at click time.
Statistics
The summary reports:
| Group | Values |
|---|---|
| Presence | Loaded, Destroyed, StreamedOut, Pending Restore |
| Persistence | Resettable, Persistent, One Shot |
| Origin | Runtime-spawned records |
| Saved state | Deferred persistent restore, saved state available |
| Memory | Runtime snapshot memory, manifest memory |
| Timing | Refresh duration, validation duration |
| Reports | The latest reset report, the latest persistence import report and its snapshot version |
| Manifest | Manifest status text |
A green / orange / red World State Status line summarises health at a glance.
Rows and details
Each row is one managed Actor. Selecting it shows its reset priority, managed attachment parent, Stable IDs found in its Custom State, the Custom State schema version and entry count, and the documented restore pipeline position.
In PIE the Inspector merges loaded components with read-only subsystem records, so destroyed, streamed-out and pending records stay visible even though no Actor exists for them.
Search and filters
- Search matches Actor labels, Stable IDs and regions.
- Filter covers severity, presence, persistence policy and runtime origin.
- Region filters the list and selects the region used by the PIE reset preview.
Filtering operates on the captured in-memory snapshot, so it is instant and does not rescan the world.
Actions
| Action | Availability | Effect |
|---|---|---|
| Refresh | Any world | Rescan Actors carrying a state component |
| Validate World State | Any world | Run the validation pass; never edits the level |
| Focus Actor | Selection | Frame the selected Actor in the viewport |
| Copy Stable ID | Selection | Copy the ID to the clipboard for diagnostics |
| Assign Missing IDs | Editor world | Repair every missing ID in the world |
| Regenerate Selected ID | Editor world, selection | Replace the ID of one component |
| Build World Manifest | Editor world | Generate the cookable manifest |
| Validate Manifest | Editor world | Report Matched / Missing / Changed / duplicates |
| Reset Region (PIE) | PIE world, concrete region | Run a real reset and show the report |
| Enable Debug View | Any world | Viewport labels for managed Actors |
The Inspector also hosts the per-Actor Health Check, which resolves the selected Actor’s
components through the same capturer registry the runtime uses and explains in plain language what
will and will not be restored — see
Right-click setup and Health Check. The
same setup actions — apply a preset, assign a region, validate, open the Inspector, remove WSRF —
are available by right-clicking level Actors or an Actor Blueprint in the Content Browser, batched
in one Undo transaction. Region and reason fields everywhere use Gameplay Tag pickers filtered to
the WSRF.Region and WSRF.Reset roots.
Stable ID repair
Both repair actions are explicit, transactional operations:
- they require an Editor world and are disabled during PIE;
- they mark the owning package dirty;
- they participate in Unreal’s Undo/Redo;
- they never run automatically as a side effect of opening or refreshing the Inspector.
Assign Missing IDs repairs every component missing an ID in the inspected world. Regenerate Selected ID changes only the selected component.
Regenerating an ID breaks saved references
A regenerated Stable ID no longer matches records in existing persistence snapshots, or Stable-ID dependencies written by other Actors. Regenerate to repair a duplicate, not as routine maintenance.
PIE reset preview
Select an active PIE world and a concrete region, then click Reset Region (PIE). The tool calls the normal synchronous runtime reset with the Manual reason and refreshes immediately.
It reports duration plus scheduled, restored, respawned, removed, skipped and failed counts — the
full FWSRFResetReport. Invalid regions and Editor worlds are rejected rather than silently ignored.
This is the fastest way to answer “would my checkpoint actually restore this room” without wiring a debug key.
Debug visualization
Enable Debug View adds viewport labels containing the short Stable ID, the policy, the reset priority and the region.
| Colour | Meaning |
|---|---|
| Green | Healthy resettable Actor |
| Blue | Persistent Actor |
| Purple | One Shot Actor |
| Red | Actor with validation errors |
The draw delegate lives only in the editor module and is unregistered when the view is disabled or the Inspector tab closes.
Performance model
The Inspector has no permanent tick. It scans only when you explicitly refresh or validate, and
only Actors carrying a UWSRFStateComponent. Everything afterwards — filtering, searching, sorting —
runs against the captured snapshot.
The UE 5.7 validation gate measured 0.906 ms refresh and 0.145 ms validation for 1,000 healthy editor Actors on the development machine. Results vary with hardware and Actor complexity.
Related
- Validation and debug visualization — every check the validator performs
- World Partition and World Manifest — the manifest actions
Last updated: 2026-08-30