تخطي إلى المحتوى
الوسائط 1 للقائمة Quest System Demo
0 comments

الوصف

Demo edition (3-quest session cap)

QuestSystem turns quest design into a data-authoring task, not a programming task — for single-player and multiplayer projects, with the exact same workflow

Drop the plugin into any project and it attaches itself: no custom PlayerState, no custom GameState, no manual replication wiring. Designers build quests as Data Assets; gameplay code fires a handful of typed events; QuestSystem handles progress tracking, party coordination, replication, rewards, and persistence

Why QuestSystem

Most quest systems force a trade-off: simple and single-player-only, or multiplayer-capable but only if you rebuild your PlayerState/GameState around them

QuestSystem removes that trade-off

Zero-config integration

A world subsystem auto-creates a Quest Manager component on the GameState and on every PlayerState as it spawns—covering login, late join, and seamless travel automatically

Already have custom PlayerState or GameState classes? The subsystem detects manually placed components and steps aside

One component, two roles

The same manager class hosts different behavior depending on where it lives:

- PlayerState → manages personal quests

- GameState → manages shared party quests, roster tracking, and player contributions

No parallel class hierarchies to maintain

Server-authoritative multiplayer

Every mutating operation automatically routes to a reliable Server RPC when called without authority:

- Start Quest

- Complete Quest

- Fail Quest

- Abandon Quest

- Update Progress

- Notify Events

Call the same API from client or server code—the framework handles the networking.

True data-driven authoring

Quests and objectives are implemented as Primary Data

There is no hardcoded quest content anywhere in the framework.

Designers create, edit, and balance quests entirely inside the Unreal Editor without writing C++ or Blueprint logic for standard use

cases

Three Ways to Share a Quest

Each quest chooses its own sharing model, allowing one project to freely mix solo, cooperative, and competitive-cooperative gameplay

Personal

A classic single-player quest tracked only on the owning player's PlayerState

Shared

One collective progress pool tracked on the GameState,ntribution tracking

Ideal for objectives where the entire party works together

Individual

Each player receives their own copy of the quest on their PlayerState, while the GameState tracks participation and reports the quest complete only when every party member has finished

A single function call starts a party quest for everyone currently connected—whether that's one player in standalone mode or a full multiplayer party

Minimum and maximum party sizes are enforced automatically, and late joiners are enrolled without additional code

Event-Driven Progress, Not Manual Bookkeeping

Gameplay code never manipulates quest counters directl

Instead, gameplay simply reports events such as:

- Kill

- Pickup

- Reach Location

- Interact

- Custom Event

QuestSystem matches those events against every active  them

Sequential objectives activate one at a time

Once every required objective is complete, the quest aecomes ready to turn in

Because matching is centralized, behavior stays consistent across the entire project—including MMO-style behavior where one event can advance multiple active quests sharing the same objective

Smart World Targets — No Programmer Required

A single component turns almost any actor into a quest target:

- NPCs

- Letters

- Chests

- Bottles

- Doors

- Levers

- Custom interactive objects

Only three things need configuration.

1. What it reports

Configure:

- Event Type

- Identifier

- Count

Optionally link an Objective asset to auto-fill and lock these values, ensuring world objects and quest data can never drift out of sync

2. How it's triggered

Combine any trigger types:

- Overlap

- Damage

- Interact

- Destroyed

Or invoke it manually from custom gameplay systems

3. What happens afterward

Choose whether the target:

- Fires once

- Respawns after a delay

- Remains permanently repeatable

Optionally:

- Hide or destroy the owning actor

- Spawn feedback effects

- React through Blueprint events (an NPC flees, a ches

A ready-to-place actor variant provides a mesh-plus-taquest props

Quest markers automatically appear only when the player has a matching active objective—no visibility scripting required

No-Code Quest NPCs & Visual Markers

Turn any Character or Actor into a quest giver, a turn-in point, or both — just add the matching component and assign which quests it offers or accepts

No dialogue-tree programming required for standard offer/accept/turn-in flows

On the player side, one Interactor component plus a single function call wires up "walk up and press a button": it automatically finds

and interacts with the closest relevant thing, in priofinished quest first, then accepting an offered one,then triggering a nearby world target

Every quest-relevant actor can also show a floating marker automatically, with three interchangeable visual styles to match any art direction:

- A self-provisioning 3D icon that works out of the box with zero setup

- A world-space UMG widget for a fully custom-designed marker (text, icons, animation — entirely up to your Widget Blueprint)

- A spawned Blueprint actor for a bespoke floating marker (an animated arrow, a custom mesh, anything an Actor can be)

Mix multiple marker types on the same object for more than one visual at once. Markers automatically reflect the live quest state — available, in progress, ready to turn in — and only appear while actually relevant, with zero visibility scripting

Built for Multiplayer From the Ground Up

- Custom serialization replicates the framework's complex quest-progress data efficiently

- Personal and Individual quest events automatically forward to the shared party manager whenever appropriate

- Rewards are protected by an internal one-shot guard, guaranteeing they are granted exactly once—even across replication, reconnects, and edge cases

Override a single event to plug in your own reward system without modifying framework code

Persistence That Fits Your Save System

QuestSystem doesn't impose its own save format

Export and Import functions serialize:

- Quest asset references

- Active progress

- Objective states

- Completed quest snapshots

Finished quest snapshots preserve the final state of completed objectives (for example, displaying 3/3 in a quest journal even after completion)

The serialized data is stored in a plain struct, allowing it to integrate cleanly into any existing save-game system

Validated, Not Just Trusted

A built-in dependency validator automatically detects:

- Every asset edit in the editor

- World startup in Development builds

- Manual validation through Blueprint

- Manual validation through console commands

Broken quest dependency chains are caught during develrs

A Full Debugging Toolkit Included

An optional debug module provides:

- An in-game debug overlay written entirely in C++

- Live quest and objective inspection

- One-click Start, Complete, Fail, Abandon, and Reset controls

- Direct shortcuts from a running game to the Quest as

Console commands support:

- Starting quests

- Completing quests

- Listing active quests

All commands transparently forward from clients to the server during multiplayer testing

What's in the Box

Runtime Core

Includes:

- Quest and Objective Data Assets

- Quest Manager Component

- World Subsystem

- Event Notification API

- Interaction Components

- World Target Components

Optional Debug Module

Includes:

- Cheat console commands

- In-game debug overlay

The debug module is fully isolated so the runtime corey UI framework.

Complete Documentation

Comprehensive documentation covering:

- Core concepts

- Quest authoring

- Event-driven progression

- Multiplayer replication

- Save/load integration

- Debugging tools

التنسيقات المضمنة