StoryletEngine for Unreal
Storylet Studio publishes .storyworld bundles - precompiled storylet data ready to play at runtime. StoryletEngine for Unreal is a plugin for Unreal Engine 5.7+ that loads those bundles inside your UE project and runs storylets from Blueprint or C++.
This page orients you: what the plugin does, where to get it, and what's involved in shipping a Storylet Studio storyworld through an Unreal game. The plugin ships with full installation and API docs of its own, so treat this as the overview.
What you need
- Unreal Engine 5.7 or later.
- A
.storyworldbundle from Storylet Studio - published from the authoring tool via Publish. - The StoryletEngine plugin zip, from download.storylet.studio under "Engine plugins".
What the plugin gives you
- Asset importer. Drag a
.storyworldfile into the Content Browser and you get aStorylet Engine Storyworlddata asset. - Blueprint + C++ runtime API. Create a
Storylet Engine Sessionagainst a storyworld, call Draw for the eligible hand of storylets, call Play to pick an outcome and apply it. You get the same surface from both Blueprint and native C++. - Gated outcomes. An outcome can carry an availability condition. Each drawn outcome exposes a
bAvailableflag (false when its condition is unmet) - show those choices disabled rather than hidden - and Play rejects an unavailable outcome. Requires a.storyworldbundle at format version 2.3 or later. - Editor inspector. A
Window > Tools > Storylet Enginetab for poking at a live session in Play-In-Editor. The State sub-tab has Save State / Restore State buttons that read and write.storyworldstatefiles - the same portable format the authoring tool's Simulate view and the Unity plugin produce. Storylet.*GameplayTag mirror so storylets can hook into the systems you already have (ability system, narrative beats, etc.).- Save / restore of session state via the standard UE serialization path.
Quickstart (30 seconds)
The full quickstart lives in the plugin's own README. The short form:
- Drop the unzipped plugin into
<YourProject>/Plugins/StoryletEngine/, regenerate project files, and build. - Drag your
.storyworldfile into the Content Browser - the importer creates aStorylet Engine Storyworldasset. - On a long-lived Blueprint (your
GameInstanceworks), create aStorylet Engine Sessionfrom the storyworld asset inBeginPlay. - Each turn: call Draw on the session, then Play with the chosen storylet's
Game Idand the outcome'sGame Id.
That's the basic loop. Save / restore, the inspector tab, and the GameplayTag mirror all wire up automatically.
Where to next
- The plugin's own
README- quickstart, full API reference, supported UE versions, troubleshooting. - For Game Developers - the overall publish-and-load workflow, how the engines compare, and licensing / source.
- Simulate - what running a storyworld looks like in the reference UI; the Unreal plugin exposes the same Draw / Play primitives.
- Game Data - the per-storylet custom fields a player shell typically reads to drive presentation (UI, dialogue, audio).