I want to schedule my machine to run all my updates unattended at night, but this requires my authentication (which pretty much axes the unattended part). Would it be best to use a cron job or is there something better?
If you are running anything critical (not your own desktop computer, that is), automatically installing updates is risky.
If you perform attended update (meaning you are sitting somewhere during your computer actually installs new packages), you can fix problems immediately, not in the morning, when everything has been broken for several hours already. Or alternatively, you'll wake up when your excellent monitoring system alarms that important things are not working.