This video guide will walk you through the install & configuration of this system step by step. If you prefer text over video keep reading below for a breakdown of everything.
To install, just add the AC_QuestSystem_PlayerController component to your Player Controller.
That's all there is to it to get the foundation of it up and running! This component takes care of adding all other necessary components and also sets up and initializes the World Quest Helper for you.
By default setup will occur automatically on begin play. See the Auto Setup Quest System? option mentioned below if you need to have further control on when the quest system initializes.
For keybindings make sure you review the input mapping context in the Blueprints/Inputs/ folder. You can learn more about the inputs and keybindings on the Input & Keybindings page.
For details about player identification in multiplayer games view the notes on the multiplayer page of the documentation. For help connecting your other systems like inventory and experience for quest rewards see the Connected Systems chapter.
Dyno! I don't have a player controller, can I use the player character instead?
No Timmy, that won't work. To create a player controller make a new blueprint class and from the window that appears select "Player Controller" from the list. Then open your game mode and set the player controller to the one you created. If you need further help with creating a player controller I recommend watching the video, where I will walk you through creating one in a new third person project.
To configure the quest system select the AC_QuestSystem_PlayerController component you added to your player controller. These are the available settings and what they do:
Auto Setup Quest System? - True by default, and when true will automatically set up the quest system. If you set this to false you have to manually call the
SetupQuestSystem events found in the player controller and player state
components. The system will not start for the player if you disable this setting and do not call these setup events when your side is ready.
Save Player Quests? - True by default, and when true will save and load quest progression automatically for the player. If set to false quest progress will not save or load for the player. To learn more about how the save system works view the
Save & Load chapter in this documentation.
Show Quest Window Scene Capture? - True by default, and when true will show a scene capture of the actor when opening a quest window ui through an actor. The offset of the scene capture can be changed using the
actor override.
Rescan for New Actors? - True by default, and when true will automatically search for new actors at an interval defined by the value of
RescanForNewActorsSpeed. You can gain a performance boost if you manually
Check In your actors as you respawn them instead of depending on a scan like this. For
multiplayer rescanning for actors only occurs on the server.
Rescan For New Actors Speed - The number of seconds between attempts to rescan for new quest related actors if using the Rescan For New Actors? Boolean.
Indicator Scan Speed - The number of seconds between rescans for showing nearby quest indicators. This scan can not be disabled as it is needed for dynamic objectives and uses a distance threshold from the player. For
multiplayer the indicator scan only occurs on the client.
Indicator Visible Max Distance - The max distance (cm) from the player to show quest indicators.
Indicator Animation Max Distance - The max distance (cm) from the player to play animations on quest indicators.
Indicator Animation Mode - The animation mode for the indicator. By default it is set to
Use Timeline which will provide the highest quality of animation but it is the most expensive when it comes to compute cost. You also have the option to instead set it to
Use Timer (which is a balance between quality and cost), and if you need you can even set this value to
Disabled to stop the Indicator animations. The animation that plays is set inside the
quest indicator blueprint, and that chapter will go more into the styling of the indicator (which includes changing this animation).
Use Overlap for Quest Interactables? - True by default, and when true will use sphere collisions on quest actors to detect overlapped players, this will tell the player there is an interactable actor nearby. If you plan to use a line trace instead you will want to disable this. For a simple example of a line trace see the demo world's player character blueprint event graph.
Overlap Detect Channels - The channels the overlap created on the quest actor should respond to. By default it is just set to Pawn, which is what most games will need. If you are making a driving game you may want to add or change this to Vehicle, this way your vehicle can trigger the overlap events.
That covers all the basic configuration options. In the next chapter I will show you how to make a quest.