Complex, Rpg-Style Quest System

In my second tutorial series for Unreal Engine 4 i will cover how to create a fairly complex quest system like the ones used in modern rpgs (e.g. Witcher 3).
If you are interested in learning how that is done only using free assets and without any c++ coding definetly check out that series starting on my channel.

**Channel: **

In the first episode of the series, we create our project, set up the folder structure, import some assets to use later on and set up a custom character from the “Infinity Blade: Warrior Pack”.

First episode:

Can U please do a series on complex AI after completion of this series ?

Yeah i will do another voting after this series probably and complex ai can be one option that you will be able to vote for. Also we will cover at least basic ai behaviour in this series when adding Npcs.

thanks a lot

Thanks a lot this looks like a grate way of learning, not just to learn the quest but the engine as well

I would be very interested in this as well.

Looking forward to the quest series. Did not played Witcher 3, but i watched some gameplay videos, curious about the complexity.

Looks interesting, keep up!

If you want to know what topics will be covered during the series please feel free to check out this video in which i present the options:

Also if you can think of additional features that could be used in the quest system, please tell me and i will see what i can do!

Part 2

Link: [Eng] Complex Quest System: Building an Experience System #02 - YouTube

Today we build a very basic levelling and experience system so that later, when we add the actual quests, there is some way of rewarding the player for completing certain quests. Also we take a look at how to make a level up a bit more interesting/rewarding for the player by creating a particle system and adding an audio effect.

Part 3

Link: [Eng] Complex Quest System: Adding a Mini Map #03 - YouTube

After having implemented the experience system, we continue with some preparation work by adding a mini map to our project that can later be used to show in which direction the player has to go in order to reach the goal of his current quest. Further we make some adjustmenst to make the mini map more visually appealing by adding a border to it and shaping it like a circle.

Part 4

Link: [Eng] Complex Quest System: Setting up the Quest Actors #04 - YouTube

During the last episodes we did some preparation work for our system so that in this video we can finally start to work on the core of our system. Therefore we create some enums and structures that will enable us to customize our quest when actually implementing them. Also we create our “MasterQuest” class (that all other quests will inherit from) and a class that will manage accepting new quests and storing them to reference later on.

Part 5


In this epsiode we start to work on the “QuestWidget” and its subwidgets, which will be continued in the next part. Today we wrap up the design of the widgets and already add some variables and update functions that will be important for the next episodes.

Part 6

Link: [Eng] Complex Quest System: Adding Quests and Sub Goal Selection #06 - YouTube

Continuing the work done in the last episode, we are able to implement a function to add new quests as well as the ability to toggle between the current sub goals of our quest.

Thanks a lot, only tricky part for me, besides replicating the instructions, was this part here, Since i handle HUD a little different, on the PlayerController.


Oh wow that looks great put into a real game :slight_smile: Good job!

Part 7

Link: [Eng] Complex Quest System: Distance and Direction to Goal #07 - YouTube

Puh… I finally managed to restore the project and now i am able to upload episodes again :slight_smile: This time we implement a system that helps the player to find the goal of his current quest by adding a direction arrow to our mini map and a border that displays the distance between the player and the current goal location. Also we set it up so that our arrow and the distance text are updated when the player moves around.

Could you explain why you’re using a orthographic camera for the minimap instead of a perspective cam rotated 90 degrees, as most minimap tutorials do? What are the advantages/disadvantages?

Well it is not about advantages or disadvantages. It is just about what look you prefer. I prefer the orthographic cam and i think that most games nowadays also use orthographic cameras for their mini map.