Add Quick Start

Kyle Austad 2024-10-17 11:04:34 -06:00
parent d48fd1c71a
commit 94630de860

37
Quick-Start.md Normal file

@ -0,0 +1,37 @@
# Quick Start
This page should get you up and running and creating a linear story-line in 5m!
## Add Actor Component
Once the asset pack is added to your existing project, go to your character pawn and add the *AC_PlayerQuestManager*.
![](https://git.crabinteractive.com/kyaustad/SimpleLinearQuests/media/branch/main/Media/Docs/1.png)
### Initialize the component
The actor component needs to be initialized with your starting quest. The easiest way to do this is to drag the *AC_PlayerQuestManager* you just added from the components list on the left, into your blueprint graph to get a reference to it. From there drag off the component reference and call the function *Initialize Quest Component*. Connect this to the *BeginPlay* event.
![](https://git.crabinteractive.com/kyaustad/SimpleLinearQuests/media/branch/main/Media/Docs/2.png)
The input *Start Quest* can be filled in with your starting quest once you have a data table for your quests.
## Creating Quest Data-Table
Next, you can either edit the existing data table that comes in the demo files or create your own data table for your quests based on the struct included in the kit titled *S_Quests*.
Once you have a data table created, each row is a unique quest. In the *Row Name* field, give your quest a unique name. If you plan on integrating with some form of UI for the player to see what quest they are on I recommend using and underscore for spaces. In the demo HUD, a *Replace* string node is used to replace underscores with spaces so the name is displayed in a proper manner to anything visible to the player. If you plan on using the system simply for internal tracking of player progress and they won't ever see the quest names, it doesn't matter. Go through and add your various variables for your quest.
![](https://git.crabinteractive.com/kyaustad/SimpleLinearQuests/media/branch/main/Media/Docs/3.png)
* Quest Description: A text description of your quest.
* Previous Quest: The quest before this one. Used to error check progress and make sure completed quests are added to the completed quests.
* Objectives: An array of *S_Objectives* structs that contain 3 variables for each objective: The *ObjectiveName* is used to identify the objective. It is case sensitive but can be anything you wish to identify the objective internally as well as display the current objective to the player. *ObjectiveQuantity* is used to tell how many of that objective must be completed to complete the objective (Such as collect 3 cubes). And *ObjectiveDescription* is used to display to the player a description of their current objective.
* NextQuest: This is used when the current quest is completed to assign the next quest to the player. Make sure it matches the *Row Name* of the quest you want to assign next exactly.
* QuestIcon: Used when integrating with the hud to display an icon specific to the quest.
### Assign the quest data-table
Back in your character pawn, select the quest manager component and find the variable in the details panel called *Quests Data Table* and assign the table you just created/edited to that variable. Also input your starting quest in the *Initialize Quest Component* function.
![](https://git.crabinteractive.com/kyaustad/SimpleLinearQuests/media/branch/main/Media/Docs/4.png)