Download the following project and relative files, paste the files into the project content folder
image.png
Open the project, then open and close each added files (to activate them by UE)
image.png
3 nodes BP are provided by the tutorials (3rd person, NPC, and dialogue)

Set 3rd person character:


Open 3rd person BP, event graph, copy and paste following 3 BP:
Nodes 1 - ThirdPersonCharacter:

For Node 1:
R click on those error nodes, Create variables
image.png
Change Quest Complete and Remove Quest nodes Input as Active Quest
image.png

Go to Dialogue folder → NPC Interact BP interface
image.png
Add Activate Dialogue Input :
image.png
Back to 3rd person BP, add Active Quests to Quest LogInfo (also command the graph as Interact)
image.png

Set NPC:


Open NPC Dialogue widget , graph
image.png
add variable boolean, QuestFinsihed
image.png

Open NPC BP, viewport
Add static mesh component, called Questionmark
Choose following mesh and Mtl
image.png
Collision preset: No Collision
Tick Hidden in Game
move the mesh above character, scale down
image.png
Duplicate the question mark component, rename as Exclamation mark
Replace the mesh and Mtl
image.png
Go to Event graph
Copy and paste Node 2 in it
Replace the questionmark and !Mark nodes by what just created in viewport
image.png
Replace NPC chat node in Quest complete, and SET Quest Finished too
image.png
Tick Quest Finished in SET
image.png
R click and Create variables for these too:
image.png
P.S If using different character from 3rd person, just cast that character here and recall the accept quest event
Tick Instance editable in Quest Ref node
image.png

Select NPC character in the scene, in Details, input the message in: Default → Conversation Info:
image.png

Set the Quest:


Scroll down the Details column, quest Ref, fill in Quest name and description:
image.png
Example of Actor Reference:
Location quest: Select the location BP (template included
Killing quest: Choose the target object to kill
Pick up quest: Choose the item to pick up
etc

Drag the location BP in scene
image.png
Back to NPC Quest Ref, use eyedropper to select the location BP in scene
image.png

Back to NPC BP graph, in event begin play nodes, add follow:
image.png
In Interact command nodes, change the reroute node to remove quest node as follow:
image.png
Move the original Interact command to the new downloaded Interact and connect as below:
image.png
image.png
Combine 2 interact commands into 1
At the end of Interact command, replace Questionmark node to set hidden in game node
image.png

Set Dialogue to accept the Quest:

Open NPC Chat strcuture
image.png
Add 3 text variables:
image.png

Go to NPC dialogue widget, event graph
In Quest command, add follow nodes:
image.png

Copy and paste the following nodes BP in the graph

In Quest Accepted Message command, change the in text input in SetText node to Quest Accepted message output:
image.png
In Quest Hand in Message command, repeat the same but this time connect to Quset hand in message
Create variable on Quest completed Set node at the end
image.png
Repeat the same on Quest Completed Message command

create variable boolean called QuestAccepted
Put in Quest command
image.png
In Go to Message 1 command, add the following in beginning
image.png

Go to On Mouse button Down funciton
duplicate the nodes at the bottom below and connect to a new branch as follow:
image.png

Test the quest:


Go to scene, select the NPC and input responses (in quest accepted message):
image.png
Test in play mode

Set Quest objective:
Go to Location BP, revise the highlight nodes in event graph:
image.png
For killing or pickup quest, call the highlight nodes (i.e all nodes after 1st node) below after enemy dies/item be picked up
image.png

Set Quest Reward (Optional):

Make the below self custom events in NPC graph
image.png



Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.