In case anyone Googles this later, you CAN use nav meshes in Unity. I'm using unity 2018.2 and set up a navmesh in a purely 2D top down tilemap game I'm working on.
Check this thread in the Unity forum:
https://forum.unity.com/threads/2d-navmesh-pathfinding.503596/
Relevant posts start at #14. Fortunately, the poster created a repo for the code on GitHub:
https://github.com/h8man/NavMeshPlus
It comes with a PDF Howto explaining how to use the script to bake your NavMesh.
The important part to remember is that the NavMesh works on the XZ based grid, which means that once you've set up the NavMesh and added the NavMeshAgent to the game object acting as an agent, NavMeshAgent will rotate the agent x=90, putting them perpendicular to your 2D XY grid.
The easiest way I found to deal with that is to add an internal object to the agent and set its rotation to x=-90 to negate the NavMeshAgent rotation.
Do NOT try setting the Grid swizzle to anything other than XYZ or the Nav Mesh Surface 2d will not bake correctly.
Once you've adjusted the agent's rotation, using NavMeshAgent's SetDestination works as it should. My agents are happily chasing my player object around in 2D with no issues.