This type of issue is hard to diagnose at home, without professional diagnostic equipment
But, you have asked for ideas. I will provide an honest answer and several ideas for you.
I trust this will be appreciated. Please remember that a low rating PUNISHES me for being honest and that I receive nothing for my time until a positive rating is clicked.
The first thing to do would be to check all fuses. Sometimes a very random blown fuse can cause this. Also unhook the battery for one hour to reset all systems. Also, try locking/unlocking the driver's door a few times using the mechanical key.
Assuming the fuses are good and the battery reset does not help, nor a jump or the key in door unlocking, then there are a few other things that can cause this. While not all can be trouble-shooted at home, I hope this information will be helpful to you and yield a possible solution.
1) bad key - try another one
2) bad brake light switch - make sure your brake lights work. If not, the switch is above the brake pedal.
3) shifter not fully in park (auto transmission only) - try moving it around a bit, try starting in both park and neutral
4) bad immobilizer (aka EWS or CAS) - nothing can be done, dealer equipment is required to fix. When this goes bad or out of alignment, the car does not get the proper signal that the correct key is present, and therefore, the car will not start and the starter will not be allowed to engage.
5) bad transmission position switch (auto transmission only, located on side of transmission, accessed from under car) - this is what signals the car that it is in neutral/park and is safe to start. Try rocking the car back and forth in park a couple times.
6) bad clutch switch (manual transmission only, located above clutch pedal) - this is what signals the car that the clutch is depressed and is safe to start.
7) dead starter/solenoid/relay - To verify, you would need to access the starter and verify if the start signal is making it or not.
Of course, it could also always be something totally random like a wiring breakage or problem with the engine control computer (ECU) or other control module, but this is unlikely and hard to predict.
The best path forward, if one of the simpler items above does not pan out, is to have the car scanned with a BMW scan tool that can check all systems live and determine where the start signal is dropping off / getting inhibited.
you will not be able to diagnose a bad ecu without such a scan tool
Sorry if you were hoping for a different answer, please don't shoot the messenger - I can only give the honest answer, which I have. Please remember that a low rating PUNISHES me for my honest and prompt response, and I receive nothing for my time and answer until a positive rating is clicked.
Please let me know if you have further questions. Please do not forget to click a positive rating as this is the only way I receive credit for my answer, thank you. Best wishes with your vehicle.