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:

GroupValues
PresenceLoaded, Destroyed, StreamedOut, Pending Restore
PersistenceResettable, Persistent, One Shot
OriginRuntime-spawned records
Saved stateDeferred persistent restore, saved state available
MemoryRuntime snapshot memory, manifest memory
TimingRefresh duration, validation duration
ReportsThe latest reset report, the latest persistence import report and its snapshot version
ManifestManifest 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

ActionAvailabilityEffect
RefreshAny worldRescan Actors carrying a state component
Validate World StateAny worldRun the validation pass; never edits the level
Focus ActorSelectionFrame the selected Actor in the viewport
Copy Stable IDSelectionCopy the ID to the clipboard for diagnostics
Assign Missing IDsEditor worldRepair every missing ID in the world
Regenerate Selected IDEditor world, selectionReplace the ID of one component
Build World ManifestEditor worldGenerate the cookable manifest
Validate ManifestEditor worldReport Matched / Missing / Changed / duplicates
Reset Region (PIE)PIE world, concrete regionRun a real reset and show the report
Enable Debug ViewAny worldViewport 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.

ColourMeaning
GreenHealthy resettable Actor
BluePersistent Actor
PurpleOne Shot Actor
RedActor 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.

Last updated: 2026-08-30

Type to search titles, sections and keywords.