Set Up First Narrative

Updated May 23, 2026

Use this page to set up a first simple narrative that combines quests, dialogue, actors in the world, quest markers, world map markers, and objective updates.

Related setup:
Customize Your Datatables, Add Your World Map, Set Up Game Mechanics in Your World.

Narratives can be BIG

Setting up your first narrative can be simple or complex depending on your needs, scale, and desired depth. Hyper provides tools for many types of narrative workflows.

Main systems that can be part of narrative setup include:

  • Quest Manager
  • Map System
  • Dialogue System
  • Sequence Manager
  • Databank and Codex System
  • Guide System
  • Inspection System
  • Memory System
  • Teleport System
  • Event Manager
  • Visual Novel System
  • Region Manager
  • Level Instance Manager

Secondary systems can also be relevant, such as:

  • Level Manager
  • Unlock System
  • Reputation System

Other systems can also affect narrative. For example, an inventory system may be needed for quest items or item delivery, while NPC systems may be needed for targets, areas, or characters to clear. Large narratives can easily touch many systems, so start small and expand only after the basic loop works.

The Cheesy Farmer – Lets setup a basic Narrative together

This example sets up a basic quest and dialogue and connects it to the world map. Other narrative components follow the same general pattern: define data, place actors, assign tags, trigger events, and test the result.

This guide assumes you already know the previous Getting Started workflows:

  • Where to find data tables.
  • How to find and assign components.
  • Where to find actors to place in the world.
  • How to set up the world map, if you use it.
  • How to manage and add gameplay tags.

Idea

Start with a simple idea. Ideally, you have a Game Design Document, but for this example the goal is small: a dialogue starts a quest.

The example is a farmer who wants the player to loot two sticks and optionally kill the rebel defending them.

Make the quest

  1. Open /Game/Hyper/Core/QuestManager/Datamodel/Datatables/DT_Quests.
  2. Add a new quest and fill in the basic data.
  3. Add a tag. In this example, the quest is placed under main quest because it is treated as important.

New quest row added to DT_Quests with main quest tag

  1. Fill in quest data to your liking.
  2. In this example, enable a status marker when the quest is available, using the typical MMO-style ? and ! marker flow.

Quest data with status marker settings

IMPORTANT: Please note that depending on the version, you likely have exrta option under status marker options. If you do have those new options, please fill in the tag for available/active/complete location with the ID you are going to setup later with: “NPC.ID.Vendor.CheesyFarmer

Set Up First Narrative

  1. Create the first stage with two objectives.
    • The quest system supports multiple stages, but this example starts with one core stage and two objectives.
    • The item objective targets Items.Resource.Organic Resource.Stick, a generic stick already assigned in DT_Items.
    • Because the objective type is obtain object, the quest automatically checks whether that stick is obtained in the inventory.
    • If you want a specific stick instead, assign a specific tag, such as Quest.Main.HelpTheCheesyFarmer.Sticks.
    • In this example, that specific tag is used on the quest marker so selected sticks can appear on the map.
    • Create Quest.Main.HelpTheCheesyFarmer.DefenderOfTheSticks and assign it to the NPC that defends the sticks.
    • Set that objective to a kill objective and make it optional.

Quest stage with stick objective and optional defender kill objective

7. Add the final stage by clicking +.

    • The target is NPC.ID.Vendor.CheesyFarmer.
    • The player needs to deliver the two sticks.
    • When completed, the quest gives 500 coins as a reward.

Final quest stage delivering sticks to NPC.ID.Vendor.CheesyFarmer with 500 coin reward

  1. Assign this quest as an available quest on your Player Controller Quest Manager component.
    • Available does not mean the quest is started or tracked. It only means the quest is available for lookup.

Quest assigned as available on the Player Controller Quest Manager

Leave the quest like this for now and continue with the dialogue that starts it.

Make the starting dialogue of the Cheesy Farmer

  1. Open /Game/Hyper/Core/DialogueSystem/Datamodel/Datatables/DT_Dialogues.
  2. Add a dialogue.
    • This example uses predefined sentences so it can be tested quickly.
    • In a production setup, you would usually use custom sentences, audio files, full written lines, and related dialogue setup.
    • The dialogue has only one option: I will help!
    • That option triggers Start Quest through the Event Manager in the background.
    • The target is the quest created above.

DT_Dialogues starting dialogue option that triggers Start Quest

Placing the actors in the world

Set up the Cheesy Farmer

  1. Place /Game/Hyper/AI/Example/Configurations/Static/CH_AI_Static_Dialogue in the world.
    • You have this actor if you have the Dialogue Manager.
    • If you do not have it, place any NPC that does not move away and make sure it has AC_CH_Dialoague_Manager_NPC assigned.
    • Also assign AC_GameplayTags with the Add button or on the class itself.

Static dialogue NPC placed in the world with required components

  1. Assign the ID in the gameplay tag container.
    • The quest can automatically detect that this NPC has a quest because the same NPC identifier is used in DT_Quest for the final stage.

NPC ID assigned in the gameplay tag container

  1. Select the Dialogue Manager component.
    • The component name may be old; click the component that represents the dialogue manager to find it.
    • Assign the dialogue tag to start with the dialogue created above.
    • For this example, the visual override manager is also used to select another visual mesh.

Dialogue Manager component with starting dialogue and visual override setup

  1. Set up the quest requirement.
    • Use Cannot Have These Active Quest.
    • Because this dialogue starts the quest, it should not start the same quest again while it is already active.

Quest requirement preventing the intro dialogue while the quest is already active

At this point, test the setup. Press Play and check whether the map shows the ?, whether the dialogue starts, and whether clicking the dialogue option triggers the quest. If it does not work, review the steps above.

Setup the sticks, and the defender of the sticks

  1. Place the defender and the sticks in the world.
  2. In this example, the following assets are used:
    • /Game/Hyper/NPCBehaviorSystem/NPC/Actor_Configurations/Rebels/CampMember/BP_NPC_Rebel_CampMember_Base
      • The visual override is set to Khaimera Red.
      • The defender gameplay tag is assigned so the Quest Manager knows which AI is the defender.
      • If you have another Hyper AI that can be killed, you can use that instead. Hyper AI that can be killed listens to the on-kill event in the Quest Manager.
    • /Game/Hyper/Environment_Building/Props/SemiPredefinedSpawner/Table/BP_Table_02
      • This comes from the props tool. Use another placed object if you do not have this asset.
    • /Game/Hyper/Inventory/Blueprints/PickUp_Master_Blueprint/MasterBlueprint/BP_Pickup_Base
      • Select Stick as the item.

Defender NPC, table, and stick pickup actors placed in the world

Make our delivery dialogue

  1. Create a new dialogue in DT_Dialogues.
    • Add the identifier Dialogue.Example.FarmerInNeedIntro.Delivery.
    • Use a simple sentence without audio for this example.
    • Set Has Options to true.
    • Set Has Condition to true.
    • Add a condition that checks whether the player has sticks, specifically 2 sticks.

Delivery dialogue with condition checking for two sticks

  1. Add an event to the option where the player says yes. The event should trigger Update Objective on the active quest.

Dialogue option event updating the quest objective

  1. Add a second option for when the player does not have the sticks yet.

Second delivery dialogue option for missing sticks

  1. Assign the delivery dialogue to the Cheesy Farmer.
    • Select the dialogue to start.
    • Combine it with the required active quest condition.

Delivery dialogue assigned to the Cheesy Farmer with active quest requirement

Test out the quest!

  1. On Play, check the first setup:
    • The farmer is visible.
    • The farmer has a ? marker.
    • The farmer appears on the minimap and compass.

Cheesy Farmer visible with quest marker on minimap and compass

  1. Confirm the farmer also appears on the world map.

Cheesy Farmer quest marker on the world map

  1. Start the dialogue. No audio is expected in this test, and only one option should appear.

Starting dialogue with one available option and no audio

  1. Select the dialogue option and confirm:
    • The quest starts.
    • The objectives appear.
    • The player response appears.
    • The quest marker updates on the farmer as the target.

Quest started with objectives and updated farmer marker

  1. Open the quest log and confirm the quest appears there.
  2. Press Show and confirm the target appears on the map and compass.

Quest log showing target on map and compass

  1. Kill the defender and pick up a stick. The objectives should update.
  2. Save and load during the quest and confirm the progress remains saved.

Objectives updated after killing defender and picking up a stick

  1. After collecting two sticks, confirm that a new stage starts.

New quest stage started after collecting two sticksDelivery stage active after collecting sticks

  1. Say yes in the delivery dialogue and confirm the quest completes.
    • The quest rewards are applied.
    • The sticks are removed.
    • The first available quest in the list is auto-tracked.

Quest completed with reward, sticks removed, and next available quest auto-tracked

Recap

This is a simple quest, but it already shows how the narrative systems connect: quests, dialogue, NPC identifiers, objective tags, inventory items, map markers, world actors, save/load progress, and rewards. Start with small loops like this, verify every step, and then add more systems as needed.