Validation and debug visualization

Every check the world-state validator performs, how findings are classified, and what the viewport debug view shows.

Validation answers a single question before the game ever runs: is this level configured in a way WSRF can actually restore?

Run it from the World State Inspector with Validate World State, or on a selection through the right-click Validate action. The per-Actor Health Check presents the same analysis for one Actor in plain language, ending with a single corrective action.

Diagnostic only

Validation never edits a level. It reports. Repairs are separate, explicit actions — Assign Missing IDs and Regenerate Selected ID — and both are transactional with Undo/Redo.

Severities

SeverityMeaning
ErrorThe Actor cannot be restored correctly as configured
WarningRestoration will run, but the configuration is probably not what you intended
InfoInformational; no action required

Validation continues past invalid Actors, so one broken row never hides the rest of the level. Each finding carries a severity, a code, a message and the Actor it belongs to.

What is checked

Identity

  • missing Stable IDs;
  • duplicate Stable IDs across the world.

Duplicate IDs are the most damaging configuration error in a world-state system: two Actors claiming one identity means saves, dependencies and respawns all resolve to the wrong object.

Regions and policies

  • missing region membership;
  • reset policies with no triggers — an Actor that can never respond to any reset;
  • contradictory Persistent configuration;
  • invalid OneShot configuration.

Respawnability

Classes that cannot be recreated after destruction are reported before you discover it at runtime: unavailable, abstract, deprecated, superseded or otherwise non-spawnable classes.

Attachments

  • attachment parents that are not managed by WSRF;
  • missing attachment parents;
  • attachment cycles.

An unmanaged parent means the child’s attachment cannot be deterministically rebuilt after both instances change. Either add a state component to the parent, or accept that the relationship is not reconstructible.

Custom State

  • InterfaceOnly restore strategy on an Actor that does not implement WSRFResettable;
  • WSRFResettable implemented but never used by the configured strategy;
  • detectable invalid Custom State schema versions;
  • Stable-ID references in Custom State that point at nothing.

Runtime behaviour

  • destroyed runtime Actors whose restore behaviour is incompatible with their configuration.

Reading a finding

Each row in the Inspector shows its error and warning counts. Selecting the row shows the messages, plus the context needed to act: region text, policy text, presence, attachment parent, referenced Stable IDs, Custom State version and entry count.

A practical order of repair

  1. Fix duplicate Stable IDs first — with Regenerate Selected ID on the copy, not the original.
  2. Then missing Stable IDs, with Assign Missing IDs — it handles loaded and unloaded World Partition Actors alike, marks the affected packages dirty and supports Undo/Redo.
  3. Then policies with no triggers, and Actors with no region.
  4. Then respawnability errors, by changing the class or the policy.
  5. Then attachment findings.
  6. Finally Custom State findings, which usually mean a strategy and an interface disagree.
  7. On a World Partition map, rebuild the manifest afterwards and confirm Manifest Valid.

Debug visualization

Enable Debug View draws a viewport label on every managed Actor containing the short Stable ID, the policy, the reset priority and the region.

ColourMeaning
GreenHealthy resettable Actor
BluePersistent Actor
PurpleOne Shot Actor
RedValidation errors on that Actor

Red Actors are the ones to fix. The colour map exists so a level artist can see the world-state configuration of an entire room without opening a single Details panel.

The delegate lives only in WorldStateResetFrameworkEditor and is unregistered when the view is disabled or the Inspector closes — nothing remains in a packaged game.

Manifest validation

On a World Partition map, Validate Manifest is a separate check that compares the built manifest against the current world and reports Matched, Missing, Changed, Orphaned and duplicate effective identities, plus whether a rebuild is required. An orphaned entry is a manifest record whose Actor no longer exists in the world — typically left behind after WSRF was removed from an Actor without rebuilding the manifest. See World Partition and World Manifest.

Rest Site validation

An Actor configured as a Rest Site additionally offers Validate Rest Site and its designer-facing Health Check on the Rest Site Details panel — see Right-click setup and Health Check.

Cost

Validation runs only when you ask for it. The UE 5.7 gate measured 0.145 ms of validation for 1,000 healthy editor Actors on the development machine, after a 0.906 ms refresh. There is no permanent editor tick and no continuous world rescan.

Last updated: 2026-09-04

Type to search titles, sections and keywords.