Pulse Online Integration

Table of Contents

  1. Overview
  2. How players get into the host
  3. Starting party quests
  4. Settings
  5. Setup

Overview

PulseQuestOnlineBridge is a separate plugin (LuQ-Studios/PulseQuestOnlineBridge) that connects PulseQuest to the parties of Pulse Online. PulseQuest and Pulse Online don’t depend on each other; only the bridge depends on both.

The server keeps one shared quest host per party: the players of a party play its quests together, see the same progress and get the rewards. Players join the host of their party and leave it with their party; players without party keep only their own quest manager.

Class Purpose
UPulseQuestOnlinePartyPlayerComponent On the player state: makes the player a member of the host of its party (IPulseSharedQuestPlayerInterface). GetPartyQuestHost() on the server and the owning client
UPulseQuestOnlinePartySubsystem Server: one host per party id, spawned on first use; moves players when their party changes. GetHostOfParty(PartyId)
UPulseQuestOnlinePartyLibrary GetPartyQuestHost(Player), GetPartyOrOwnQuestManager(Player) (the party host, else the player’s own quest manager)
UPulseQuestOnlineBridgeSettings Project Settings > Pulse > Quest > Online

How players get into the host

Pulse Online keeps the party id of every player on the server (bSharePlayerParties, the travel URL when a player joins, a server RPC when the party changes later; see Party in the Pulse Online docs). The bridge follows it:

  1. A player state gets the party player component (the automatic component of the settings, or your own).
  2. When the component starts on the server, the player joins the host of its party id, spawned when the party has none yet (class HostClass of the settings).
  3. When the party changes (On Player Party Changed of Pulse Online), the player leaves its host and joins the host of the new party; without party it stays in none. A new leader of the same party changes nothing.
  4. A player that leaves the game leaves the host (bRemovePlayersOnDestroy of the host does it as well).

A player that joins the party later is added to the host like the others. The host replicates to its players only, so the new player gets the host with its running quests and their progress at that moment.

The party id comes from the player’s own game and is not checked. It only groups players: never use it for rights (kicking, prices, admin commands). A cheater can join a host by sending another party’s id.

Starting party quests

Start quests for the group on the host, not on the player’s own quest manager: GetPartyOrOwnQuestManager(Player) returns the party host and falls back to the player’s own manager, so the same start works with and without party. Quests on the host give their rewards to every player of the host (GetQuestPlayers).

Settings

Setting Default Description
bEnabled true Whether the server keeps a host per party
PartyPlayer off Automatic party player component on every player state; Set Up in the Pulse window turns it on
HostClass empty Class of the hosts (quest set and parameters for every party). Empty: APulseSharedQuestHost with the default quest set of the Quest settings. A saveable host of PulseQuestSaveBridge saves party quests
bDestroyEmptyHosts false Destroys the host when its last player left. Off: the host stays until the world ends, so a party that comes back continues

Setup

  1. Enable PulseQuest, PulseOnline and PulseQuestOnlineBridge.
  2. Set Up in the Pulse window (workflow “Quest Online”): turns on the automatic party player component.
  3. Optional: a Blueprint of APulseSharedQuestHost with a quest set as HostClass.
  4. Start group quests through GetPartyOrOwnQuestManager.

Back to top

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

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