I think an Android unit with navigation is the way to go, there's one for every budget..
I got a regular double din android system.
You need to also get get the harness, antena, and faceplate for your car..
Something like this
http://a.co/h58vyNb
If you want steering wheel controls to work, you need an adapter too. I tried two but the one that worked for me was this.
https://www.ebay.com/itm/BMW-Multi-1...53.m2749.l2649
Finally, you will have to use a hand saw to cut some plastic inside the dashboard, for the new unit to fit, but if you are handy, there's not much to it.