walking through the countryside ?

I want my characters to walk from village to village, maybe seemingly at random (hopefully my AI will provide a reason for their journey), however the entity travels in straight lines to the waypoint. How can I get my characters to walk along roads or footpaths that I will create?

You could use Unity’s build in Navigation and Pathfinding module.
You could also create your own Waypoint system, which is simply just an Array of Vector2 or -3 objects, and then move your object along this route, even implement some Spline/Bezier curve math.