Introduction

The Quest Builder is a powerful tool within the Unreal Engine that enables you to craft engaging, immersive, and dynamic quests for your players. This documentation is your comprehensive guide to mastering the Quest Builder, covering everything from the fundamentals of quest design to creating complex, branching storylines.

Features

Getting Started

To get started, you can get the starter project here :

https://drive.google.com/file/d/1GSJxKYkLEJ9BOm4hNUSgmrTdr9FlR2N-/view?usp=drive_link

You can get the completed project demo that showcasing completed implemented feature of the plugin here:

https://drive.google.com/file/d/16jfVDpv9zpINoJ3aPwcuHExX8pk8XMV4/view?usp=sharing

Download Quest Builder Plugin from the Epic Marketplace and inside the Unreal Engine, enable the plugin by going to Edit→Plugins.

Untitled

<aside> ❗ Note You can also add the plugin folder to the engine directories by going Program Files > Epic Games > UE_5.xx > Engine > Plugins > Marketplace It should look like this.

Screenshot 2024-05-20 171844.png

Or move it into your project's directories by going YourProject > Plugins (you may have to create this folder).

</aside>

To get started, you need to attach the Player Quest Component to your Player Controller as it will serve as a quest management system, allowing it to oversee and handle the player's quests. you can add this component by opening the player controller and add Player Quest Component to the components list.

Untitled

Creating your First Quest

This plugin is using Node Graph Editor to keep the information of the quest. you can create a new quest asset by right-clicking in the Content Drawer then select Quest Builder Editor.

Untitled

Inside the editor, you will see 2 important tabs which is MyQuest, and QuestGraph.

MyQuest is where you can add new quest, edit and handle the quest property.

Simply click the add icon to create a new Quest Graph and you can also click on the quest graph button to see it’s detail on property panel.

Untitled

Quest Graph is where you can build your quest using nodes. To create a node, you can do it by right-clicking the graph and choose the node you need.

Untitled

<aside> ❗ Warning Avoid duplicating the Quest Asset, the id will be duplicated and you must set them manually as it will cause some issue to the system.

</aside>

This is how it looks like when you create a new Quest Graph in the property panel. there are some important things to set such as Quest ID, and Conditions.

Untitled

Quest ID is self-explanatory. Every quest need to have an unique ID.

Description is going to show up on the quest log.

Rewards is the reward data you want to give to player.

Can Quest be Aborted is self-explanatory. Showing the abort button at the quest log.

Auto Activate Quest is to immediately Activate the quest after the condition met.

Condition is where you can set certain condition to only Unlock the quest. At this section, you can choose a condition from the plugin or using the custom condition.

For now, you can just enable the Auto Activate Quest.

<aside> ❗ Note

To rename the Quest ID and Node ID, you can only do it by right-clicking the quest graph on My Quest tab or press F2.

Untitled

Untitled

</aside>

Quest Branching

In Quest Builder, quests are made of objective nodes and state nodes.

each quest will start from the root node, a sequence of objective nodes and will end with a state node (Complete/Fail).

In order for each node to do a branching , the Quest Builder uses a condition. Every node inside the graph except the root node will have a condition. Every time the node objective that has been completed, the system will check the children node condition.

Untitled

<aside> ❗ Note The Condition will always prioritize to go for the children node that has a condition. if there is no condition at all, it will go to the first children node.

</aside>

Objective Node

Quest Builder comes with an Objective Node to handle all the task inside the node. You can add multiple task that must be completed by the player.

Untitled

Untitled

Task

In order to finish an objective, player are given a series of task that can be created for all kind of purpose. to create a task, you can do it by going to the editor toolbar and select the New Task button.

Untitled

To add a task you created, simply by going to objective node → Tasks and add your own task.

Untitled

Task has some default variable that you can use:

Also The task has some default function that you can use:

There are some template task that can help you get started: