How to create an intelligent waypoint system?

How do I create a way-point system that intelligently creates a set of way-points avoiding obstacles and with the lines connecting between them showing the path the character will take to get to the last way-point. Also, be able to hover cursor over any point on any of the connection lines and show how many seconds it will take for the character to get till that point.

Check out this tutorial: Basics of AI | Live Training | Unreal Engine - YouTube

You will need to use a Navmesh.

You can get the amount of time it will take for the character to reach its next location by doing some math on the movement speed of your character and the distance between the waypoints.

PS. Your drawing doesn’t make sense to me, the character doesn’t need to take such a complex way around some obstacles when he can move straight towards the character from the first location.