Using Landscape Spline as AI navigation route

I have made a pretty landscape with a path on it. This path should be where the player can move. The movement of the player is determined by where you click within this path. Here is that path:

What I have currently done is horrible. I have created a large amount of navigation mesh bounds volumes and positioned them by hand. I suppose i could finish the horrible work off by adding navigation mesh modifiers to ensure the navigation that is generated is not so boxy. This is what this currently looks like:

The issue is that I keep changing my mind in how wide the path is, so have to keep changing the width of every single navigation mesh and at the same time, rotate and re-shape to get it just right. It’s tedious and not going to work for the amount of levels i have.

I created APathActor that holds a reference to the active landscape:

UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Custom")
	ALandscape* Landscape;

And had noticed that I can get hold of the spline component for that Landscape:

ULandscapeSplinesComponent* LandscapeSpline = Landscape->SplineComponent; 

My question is, is there a way to generate Nav mesh bounds volume in the editor based off of the above spline component. I imagined that i could get the width of the spline segments and for each one generate a navmeshboundsvolume with a mavmeshbounds modifier to ensure the path is strictly wrapped… however, i can’t figure out how to do this.

Anyone have any ideas on the approach i may be able to go down for this?

I am basically interested in keeping the AI navigation from the NavMeshBoundsVolume while at the same time using the Landscape Spline for the path

Bump. Still not sure which path to take (excuse the pun)

Anything else I can add to this question to help people understand it more?

Instead of setting NAVMesh in the level for the AI Navigation Route can’t you use the Spline Points as reference for not letting the AI Stray off the path like cannot go more than x Width.

Is there a way to enable path finding using such an approach? If someone clicks from one segment of the path to another, the pawn must figure out how to work its way to the segment and also figure out the fastest route. This is why I chose navmesh to deal with this problem. What do you reckon?

It’s worth taking note that there are branches from the path too, so it will need to iterate over each connecting spline segment and find out the shortest length to closest point on spline. And then also figure out the fastest route considering it has X width to walk on.

Instead of setting NAVMesh in the level for the AI Navigation Route can’t you use the Spline Points as reference for not letting the AI Stray off the path like cannot go more than x Width.

Can’t be completely sure without trying your method but maybe

If you are going for the spline width method i would find the point to go then create an array that stores the splines and points that i would have to go by to reach fastest but it would go way too complex if branching gets involved.

Can’t you Create a blueprint/C++ with spline and at runtime let the blueprint spawn a NavMesh based on the spline points. I guess that would also solve your problem then for Branching.