Installation

Requirements, supported engine versions, plugin activation, content visibility, and notes for Blueprint-only and C++ projects.

Requirements

RequirementValue
EngineUnreal Engine 5.7 or 5.8
PlatformsAny platform supported by the engine modules listed below
Project typeBlueprint-only or C++
CompilerOnly required if your project is already a C++ project
MultiplayerNot currently validated or supported as a public feature

Supported engine versions

Engine versionStatus
Unreal Engine 5.7Validated on 5.7.4: strict plugin build, Editor Development, UnrealGame Development, UnrealGame Shipping, independent-project functional test, packaged Development gameplay probe.
Unreal Engine 5.8Validated on 5.8.1: strict plugin build, Editor Development, UnrealGame Development, UnrealGame Shipping, independent-project product and gameplay/persistence tests.

Why both versions are claimed

UE 5.8 deprecated the Data Layer naming API used on 5.7. The source carries a version-correct branch for each engine, and both were built and tested separately rather than assumed compatible.

Module structure

The plugin ships four modules:

ModuleTypeRole
WorldStateResetFrameworkRuntimeRuntimeThe game runtime. Depends on Engine, Gameplay Tags and physics support — not on Niagara or any Editor module
WorldStateResetFrameworkEditorEditorValidation, the Inspector, context menus, manifest building and repair tools. Never loaded by packaged games
WorldStateResetFrameworkDemoDeveloperToolDemo gameplay. Removable; it also loads the optional Niagara adapter while installed
WorldStateResetFrameworkNiagaraRuntime, LoadingPhase: NoneOptional Niagara capture adapter. The core never loads Niagara itself

Required engine plugins

The plugin descriptor enables Niagara, which the demo module and the optional capture adapter use. The core Runtime module itself does not depend on it.

Removing the demo

The Runtime and Editor modules compile without the demo. To ship without it:

  1. Close Unreal Editor.
  2. Remove the WorldStateResetFrameworkDemo module entry from WorldStateResetFramework.uplugin.
  3. Remove Source/WorldStateResetFrameworkDemo and Content/Demo from the plugin copy used by the project.
  4. Remove any project maps or assets that reference demo classes or demo content.
  5. Regenerate project files and rebuild.
  6. If Niagara capture is not needed, also remove the WorldStateResetFrameworkNiagara module entry and source, and leave Unreal’s Niagara plugin disabled.
  7. If Niagara capture is needed, keep that adapter, enable Unreal’s Niagara plugin, and load WorldStateResetFrameworkNiagara before the first WSRF game-world registry is frozen.

Plugin installation

From Fab, once the listing is published: acquire it with the account used by the Epic Games Launcher, then Library → Fab Library → Install to Engine, selecting your engine version.

Per project, from a plugin package: copy the WorldStateResetFramework folder into your project’s Plugins/ directory, creating that directory if it does not exist.

Enable the plugin

  1. Open the project.
  2. Edit → Plugins.
  3. Search for World State Reset Framework.
  4. Tick Enabled.
  5. Restart the editor when prompted.

Project restart

A restart is required. The editor module loads at PostEngineInit, which is what registers the Tools → World State Reset Framework → World State Inspector menu entry and the state component’s custom Details panel. If the menu is missing, the editor was not restarted, or the plugin failed to load — check Window → Output Log.

Content visibility

The plugin ships content: the demo map, demo Blueprints and the Checkpoint Shrine asset. To see them:

  1. Open the Content Browser’s Settings menu.
  2. Enable Show Plugin Content.

Everything then appears under the WorldStateResetFramework root.

Plugin content

PathContents
/WorldStateResetFramework/Demo/Maps/L_WSRF_DemoThe playable demonstration map
/WorldStateResetFramework/Demo/BlueprintsData-only demo Blueprints: enemy, breakables, trap, reset door, persistent shortcut, unique pickup, one-shot chest, lever/door relation, runtime spawner, pawn, game mode, demo SaveGame

Demo assets are WSRF-owned, authored content — nothing depends on purchased packs. Duplicate anything you want to customise into your own project content so a plugin update cannot overwrite it.

Blueprint-only projects

No compiler is required. Everything a normal integration needs is exposed to Blueprint:

  • UWSRFStateComponent with its presets, regions and policy;
  • UWSRFWorldStateSubsystem with Reset World Region, Request Reset and registration nodes;
  • IWSRFResettable implementable on any Blueprint class;
  • UWSRFStateWriter and UWSRFStateReader typed nodes;
  • Capture WSRF Persistent State and Apply WSRF Persistent State;
  • every payload, report and enumeration type.

C++ projects

Add the runtime module to your build dependencies:

PublicDependencyModuleNames.AddRange(new string[]
{
    "Core",
    "CoreUObject",
    "Engine",
    "GameplayTags",
    "WorldStateResetFrameworkRuntime"
});

Then include the public headers you need:

#include "WSRFWorldStateSubsystem.h"
#include "WSRFStateComponent.h"
#include "WSRFTypes.h"

Runtime module dependencies

WorldStateResetFrameworkRuntime depends on Core, CoreUObject, Engine and GameplayTags publicly, plus PhysicsCore privately. Nothing else.

Never link the editor module from runtime code

WorldStateResetFrameworkEditor depends on UnrealEd, Slate and other editor-only modules. Adding it to a runtime target will break packaging. The runtime module never references it.

Upgrades and version compatibility

  • The World Manifest schema is version 1. Rebuild the manifest after changing managed Actors, Stable IDs, regions, policies, classes, Data Layers or container structure.
  • The persistence snapshot schema is version 3. Schema 1 and schema 2 snapshots are migrated automatically by the migration steps the plugin ships and selects for you. A newer version is reported as incompatible rather than interpreted silently — see Persistence adapter.
  • Read the changelog before upgrading, and validate one representative level with the Inspector before rolling an upgrade across a project.

Uninstall considerations

Removing the plugin removes the state component and subsystem classes. That means:

  • Actors carrying a WSRF State Component lose that component and its Stable ID;
  • Blueprints implementing WSRF Resettable fail to resolve the interface;
  • generated World Manifest assets and stored snapshots become unresolvable;
  • any SaveGame holding a WSRF World State Snapshot variable can no longer load that property.

Take a source-control snapshot before uninstalling, and decide first whether any permanent world state currently lives only inside WSRF snapshots.

Last updated: 2026-08-30

Type to search titles, sections and keywords.