Vehicle: 2018 BMW M3
My 2018 BMW M3 (S55 engine) has developed a rough idle and occasionally stutters under acceleration. The check engine light came on, and when I scanned it, I got P0301 (Cylinder 1 Misfire Detected) and P0300 (Random/Multiple Cylinder Misfire Detected). It feels like it's running on fewer cylinders sometimes.
I'm at around 50,000 miles. Could this be spark plugs, ignition coils, or something more serious like an injector? What's the best way to diagnose this without just throwing parts at it? I want to make sure I fix the right thing.