Most folks use INPA, NCS Expert, PA Soft (aka BMW Scanner) loaded on a laptop. But you really aren't "tuning" as much as reading codes, diagnosing problems, and setting options (lights, auto locking, etc.)
Look at "Software and Tools" at the following E46 link
https://www.e46fanatics.com/threads/...links.1130405/
OBDFusion loaded on a smartphone along with a wifi obd2 reader is great for reading fuel trims, solving lean codes, etc.
beyond that, you can poke around on the E46 DME tuning forum and see if anything more advanced appeals to you.
https://www.e46fanatics.com/forums/d...dme-tuning.98/