Whatever you do - stay away from the Dynavin and Eonon supposed custom BMW HU - they are both a large pile of junk
Buy a quality HU like Pioneer, Alpine, Kenwood, etc. - and yes, it's not just a simple swap with our cars - one thing is that if you want to retain full functionality of your car, & the ability to have the dealer upgrade your software - you will need to retain the oem radio wired in, somewhere in the car (like in the trunk)
Best to do some reading on threads posted by CTuna to see exactly what you're getting in to...