Narrative 3.5 removes waypoints to stop incompatibility with Narrative Navigation.
This mod adds it back in with a few tweaks to allow waypoints back in the way they were.
Any issues please join the Reubs discord :)
If you are using Narrative 3.5, you must have some form of HUD. I have designed this mod to work in the same way as the old waypoint system did.
Narrative 3.5. You must own the plugin. If you own Narrative 3.4 you do not need this mod.
You can follow the instructions below or use this video here:
- Download this repo and find the folder you need for your engine. Rename this to
NarrativeUI
(IMPORTANT). - Copy and paste it into the root of your project
/Content/
using your file explorer (not Unreal). After it's imported into Unreal you can move it inside Unreal anywhere you want. - Open your HUD and add in the
WBP_Waypoints
widget. (I put mine near the top so it's hidden behind other widgets)
- Make it full-screen by selecting the widget and in the details, open the Anchors drop down, holding CTRL+SHIFT (or command on Mac) click the full-screen option.
- Go to Graph -> Class Settings -> Implemented Interfaces -> Add
BPI_NarrativeWaypointModHUD
- Open the interfaces drop-down inside MyBlueprint on your HUD and double-click the
GetWaypointsHUD
interface - Drag your
WBP_Waypoints
widget into the return.
- This project comes with the pre-modified
Go To Location
task with Waypoints so you can start using that or replace the existing one.
I've tried to make adding waypoints as easy as can be. For the most of it you can just copy and paste sections but I have broken it down here.
- Open your custom task
- Create a variable for
WaypointsUI
- typeUser Widget
- Object Reference - Private
- Create a variable for
AddWaypoint?
- typeboolean
- Add the event
BeginTask
if it does not exist already - Bring in the
OwningController
variable and check ifIs Local Controller
in a branch - Then
GetAllWidgetsWithInterface
and set the interface to theBPI_WaypointModTasks
- Drag from the array and choose
get (a copy)
-> IsValid -> Set yourWaypointsUI
- Drag in your
AddWaypoint?
variable and connect it to anAND
node - Drag in the
Invert?
bool then chooseNOT
. Connect thisNOT
to theand
node.
- Drag from the
WaypointsUI
variable ->GetWaypointsHUD
->AddWaypoint
- Connect
self
to the Task and leave the actor empty.
- Finally add the
OnTaskCompleted
andEndTask
events - Drag in the
AddWaypoint?
variable and connect it to a branch (and both events) - Perform a validated get on the
WaypointsUI
(drag in theWaypointsUI
variable -> right click -> convert to validated get) - Drag from the
WaypointsUI
->GetWaypointsHUD
->RemoveWaypoint
- Connect
self
to the task - Enjoy