PulseQuest

A data-driven quest system for Unreal Engine, built on StateTree.

Get Started View on GitHub


What is PulseQuest?

PulseQuest is an Unreal Engine plugin for quests and objectives. The logic of a quest is a StateTree; the runtime runs quests on the server, replicates their data and objectives to the owning client (or to all players of a shared quest), saves and loads them and exposes everything to UI through MVVM view models.


Features at a Glance

Feature Description
StateTree quests A quest is a UPulseQuest data asset with a StateTree (schema Pulse Quest)
Objectives UPulseQuestObjective objects with display text, replicated progress, markers, gameplay tasks and net modes; ready-made Gameplay Event, Reach Location, Timer and Wait For Input objectives
Gameplay events Gameplay reports events once (UPulseQuestEventSubsystem), objectives and StateTree tasks count them
Story flags Replicated and saved story decisions, shared by quests, director, requirements and dialogs
Requirements & history Inline start requirements on quests, replicated and saved quest history for story branches, repeatable quests and one-time tutorials
Quest director Optional server side story controller (UPulseQuestDirector, UPulseQuestStateTreeDirector) that starts and ends quests
Multiplayer Per player quest manager (owner only replication) and APulseSharedQuestHost for party quests; clients follow resets and restarts reliably
Save/Load FPulseQuestSaveGame with load priorities and class-mismatch handling, async Blueprint nodes
PulseSave bridge Optional PulseQuestSaveBridge plugin to save quest managers with PulseSave
Dialog bridge Optional PulseDialogQuestBridge plugin: dialogs and cutscenes in quests (PulseDialog)
MVVM UI View models for the quest manager, its data, quests, objectives and the tracked quest (module PulseQuestMVVM)
Blueprint friendly Quest manager functions, objective events and async nodes are Blueprint exposed
Data validation Quests (unique tags, schema), quest sets, quest managers, objectives and quest StateTrees (objective save ids) validate in the editor
Diagnostics stat Quest stat group and the LogPulseQuest log category (also Visual Logger)

At a glance

Step In this plugin
Set Up 2 required (Add the Pulse Quest Manager component to the Player Controller; Give the quest managers a quest set), 3 optional
Create Quest, Quest Set, Quest StateTree, Quest Objective, Quest Director, Quest Director StateTree; starter content
Test Example map LV_PulseQuest_Example, cheat PulseQuestGrant
Check Pulse window, Check All, -run=PulseCheck

Documentation Sections

  1. Getting Started – Set Up, Create, Test, Check
  2. Architecture – Modules, runtime objects, event queue
  3. Quest Manager – Component, shared host, parameters, API
  4. Quests & Quest Sets – Data assets, flags, quest data, quest instances
  5. Objectives – Lifecycle, saving, net modes, gameplay tasks
  6. StateTree Integration – Schemas, context data, tasks, conditions
  7. Gameplay Events & Story Flags – Events for quests, story decisions, tracked quest
  8. Quest Director – Story director, StateTree director, load behavior
  9. Save & Load – Save game format, save interface, async nodes
  10. PulseSave Integration – Saving quest managers with PulseSave
  11. Multiplayer – Replication, authority, shared quests
  12. MVVM & UI – View models and bindings
  13. Settings – Project settings
  14. Console – Cheats, console variables, stats and log categories
  15. API Reference – Class and function overview

Blueprint examples are shown as numbered node steps until a rendered graph is added (see docs/_data/blueprints.yml).


Supported Platforms

Unreal Engine 5.8 or newer.

Platform Status
Win64 Supported
Mac, Linux Enabled, not tested

Dependencies

PulseQuest enables these Unreal Engine plugins: StateTree, GameplayStateTree, ModelViewViewModel, EnhancedInput and DataValidation. It also uses the GameplayTags, GameplayTasks and DeveloperSettings modules.


Back to top

Copyright © 2026 LuQ Studios. Distributed under the MIT License.

This site uses Just the Docs, a documentation theme for Jekyll.