Installation
Requirements, supported engine versions, plugin activation, content visibility, and notes for Blueprint-only and C++ projects.
Requirements
| Requirement | Value |
|---|---|
| Engine | Unreal Engine 5.7 or 5.8 |
| Platforms | Any platform supported by the engine modules listed below |
| Project type | Blueprint-only or C++ |
| Compiler | Only required if your project is already a C++ project |
| Multiplayer | Not currently validated or supported as a public feature |
Supported engine versions
| Engine version | Status |
|---|---|
| Unreal Engine 5.7 | Validated on 5.7.4: strict plugin build, Editor Development, UnrealGame Development, UnrealGame Shipping, independent-project functional test, packaged Development gameplay probe. |
| Unreal Engine 5.8 | Validated 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:
| Module | Type | Role |
|---|---|---|
WorldStateResetFrameworkRuntime | Runtime | The game runtime. Depends on Engine, Gameplay Tags and physics support — not on Niagara or any Editor module |
WorldStateResetFrameworkEditor | Editor | Validation, the Inspector, context menus, manifest building and repair tools. Never loaded by packaged games |
WorldStateResetFrameworkDemo | DeveloperTool | Demo gameplay. Removable; it also loads the optional Niagara adapter while installed |
WorldStateResetFrameworkNiagara | Runtime, LoadingPhase: None | Optional 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:
- Close Unreal Editor.
- Remove the
WorldStateResetFrameworkDemomodule entry fromWorldStateResetFramework.uplugin. - Remove
Source/WorldStateResetFrameworkDemoandContent/Demofrom the plugin copy used by the project. - Remove any project maps or assets that reference demo classes or demo content.
- Regenerate project files and rebuild.
- If Niagara capture is not needed, also remove the
WorldStateResetFrameworkNiagaramodule entry and source, and leave Unreal’s Niagara plugin disabled. - If Niagara capture is needed, keep that adapter, enable Unreal’s Niagara plugin, and load
WorldStateResetFrameworkNiagarabefore 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
- Open the project.
- Edit → Plugins.
- Search for
World State Reset Framework. - Tick Enabled.
- 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:
- Open the Content Browser’s Settings menu.
- Enable Show Plugin Content.
Everything then appears under the WorldStateResetFramework root.
Plugin content
| Path | Contents |
|---|---|
/WorldStateResetFramework/Demo/Maps/L_WSRF_Demo | The playable demonstration map |
/WorldStateResetFramework/Demo/Blueprints | Data-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:
UWSRFStateComponentwith its presets, regions and policy;UWSRFWorldStateSubsystemwithReset World Region,Request Resetand registration nodes;IWSRFResettableimplementable on any Blueprint class;UWSRFStateWriterandUWSRFStateReadertyped nodes;Capture WSRF Persistent StateandApply 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 Componentlose that component and its Stable ID; - Blueprints implementing
WSRF Resettablefail to resolve the interface; - generated World Manifest assets and stored snapshots become unresolvable;
- any SaveGame holding a
WSRF World State Snapshotvariable 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