This page will give you more detailed information on how the main quest was constructed for the Narrative and Roleplaying template, and how it is connected to the Conversation devices. It will also describe and explain the Quest Manager Verse device, including Verse code examples.
Starting the Quest
In this template, there are two ways to start the main quest: by talking to the DJ droid, or by talking to Caris. There is no impact to the player's progress based on which NPC they speak to first. Speaking to Caris just points the player to the DJ with a suggestion that the DJ might need help. However, you can build quests where the objectives or progress will change depending on which starting NPC you speak to.
Starting with DJ R0B0
If the player speaks to DJ R0-B0 first, eventually the droid will say it can't play any songs because it needs a part replaced. A person named Eskay was supposed to get the part, but the droid doesn't know where she is. The player has the option to ask around and see if anyone knows where Eskay is, and is directed to Caris behind the counter.
Starting with Caris
Speaking to Caris, players can select the Anyone need help? response to have Caris speak about DJ R0-B0 and Eskay. The player is then directed to DJ R0-B0, with information that Caris gave them about Eskay. The droid will tell the player about the part Eskay was going to get, and the quest continues.
Tracking Quests with the Scripts-Quest Manager Verse Device
The Scripts-Quest Manager Verse device uses the quest_manager_device.verse script, which controls and manages the different stages in the main questline. It also controls which character's dialog_device.verse script is triggered.
The Verse code is extensively commented, providing information on what each part of the code is doing. Below is a complete copy of the Verse code, for your convenience.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
cantina_objectives<public>:=enum:
GameStart,
QuestAccepted,
Progressing Quests with Objectives
When you create a quest, you will want to make a list of quest objectives. In this template, the main quest has these objectives:
Game Start: At the beginning of the game, the player is directed to talk to people in The Warren.
Quest Accepted: The player is asked to find out what happened to Eskay.
Talk To DJ About Eskay: Once the player has talked to Caris, they can return to the DJ droid to share information about Eskay.
Look For Item: The DJ droid tells the player that Eskay was working with Vex, another scavenger. The player agrees to talk to Vex. If the player speaks to Vex after talking to the DJ droid, Vex will look for the part the droid needs.
Take Item To DJ: When the player has the part, they are directed to take it to the DJ droid, and the player can use the part to fix the DJ droid so it can play music again.
Talk To Caris: After helping the DJ droid, the player is directed to speak to Caris again. Caris says the Captain wants to speak to the player.
Meet the Captain: The player is directed to the captain's room.
Quest Completed: Once the player has spoken with Captain Journ, the quest is complete and the Quest Completed dialog displays.
Setting Up the Tracker Device
Usually, you would use a Tracker device to set up and manage quest objectives. This template uses the quest_manager.verse script to manage and track the quest, but a Tracker device is used to display the current objective onscreen.
The Tracker device can be found in the Outliner by navigating to UI > Objectives. Double-click to move to the device in the editor.
Set the following options if they aren't set already. Any options not listed can be left at default value.
Option | Value | Explanation |
Stat To Track | Events | When Events is selected, no stat will be tracked, but the Tracker Value can be changed using events. |
Target Value | 1 | The value at which the Tracker is complete. |
Assign on Game Start | False | Normally, the Tracker is assigned to a player when the game starts, but in this case, the Quest Manager Verse device is used so this option is turned off. |
Assign When Joining in Progress | False | Again, the Quest Manager Verse device handles assigning to the player, so this option is turned off. |
Quest Title | Quest: Anchor Point | The quest title that displays in the UI element along with the current objective. |
Description Text | Explore The Warren and talk to people | This text is the starting objective, that displays when the game starts. |
HUD Widget | UW_UI_Tracker_Lightside | The custom UI widget that is used for the Tracker's UI. You can find this widget in the project folder, under UI > Widgets > Tracker. |
Show Progress | False | Normally, the player's progress toward an objective would display on the HUD. Since the player's progress is handled by the Quest Manager Verse device, this is turned off. |
Quest Icon - Small Icon | T_RebelAlliance_Insignia | The icon displayed on the Tracker UI element. |
Quest Icon - Large Icon | T_RebelAlliance_Insignia | The icon displayed on the Tracker UI element. |
Color | 6DDDFFFF | The color set for the Tracker UI text. |
Concluding the Quest with the Pop-Up Dialog Device
A Pop-up Dialog Device can be used to conclude a quest, which can continue the story and also provide the player with a choice between quest rewards. In this template, speaking to the Captain and playing Sabacc concludes the main quest and displays a pop-up message.
You can find the Pop-Up Dialog device for the Quest Complete message in two ways:
Locate and select the device in the editor. The Pop-Up Dialog device for the Quest Complete message is located in the Captain's room, next to the Verse device.
Locate the device in the Outliner panel, in the UI folder. Double-click the device to move to it in the editor.
With the device selected, open the Details panel. Set the following options if they aren't already set. Options not listed remain at the default value.
Option | Value | Explanation |
Title | Quest Complete - Anchor Point | The title displayed in the pop-up dialog box. It can be left blank, but in this context the title identifies that the quest has been completed. |
Content Alignment | Centered | The pop-up dialog box can be located in many positions on the screen, and there are options for a full-height top to bottom panel (left, right or centered) and a full-width left to right panel (top, middle, or bottom). In this case, the box is centered in the middle of the screen. |
Description | Congratulations, soldier. You’ve successfully navigated the social currents of The Warren and earned your place among the Rebellion.This is only the beginning of the story, however. The Warren is now yours to expand, rebuild, or transform. Where will you take the story from here? | Defines the text to display in the dialog box. In this case, there is a message about what the player has achieved and leaves an open-ended objective for the player. |
Auto Display | Never | Determines whether the dialog automatically displays for all valid players during the indicated game phase. This pop-up will only display when triggered by the Quest Manager Verse device. |
Response Type | 1 Button | Defines the number of buttons the dialog displays that players use to select responses. In this case, there is only one button because the only response needed is to close the dialog box. |
Default Back Button | Button 2 | This indicates which button is bound to the Back action. |
Button 1 Text | OK | The text that displays on Button 1. If you select multiple buttons in the Response Type option, there will be a button text field for each button. In this case, the text is OK, and the button closes the message. |
Template Override Class | UW_UI_Popup_Lightside | This overrides the default style of the dialog box, and points to a custom UI widget to use instead. This is found under the Modal Widget section in the Details panel. The widget indicated is in your project folder, in the UI > Widgets > Popup subfolder. There are several widgets available to choose from:
The Quest Complete message uses the Lightside widget, because the Warren is a Rebel outpost. Because these widgets are editable, you can also customize the UI widget for the Quest Complete message using the materials and textures located in the UI folder. |