Be aware that this service runs RetroArch in systemd's system.slice not in the user.slice. In order to have RetroArch gracefully exit, the system should be called to shutdown or to reboot using the respective RetroArch actions not by a call to systemctl.
If you do reboot or shutdown via a call to systemctl, this will result in systemd killing the cg too quickly and data loss to your RetroArch profile will occur. When RetroArch exits cleanly, it will save GUI settings, media settings, RetroArch uptime etc. In principal this is no different than data loss occurring from a user doing work when a sysadmin issues a reboot command without prior warning. While it is possible to run RetroArch in systemd's user.slice instead, doing so makes it difficult to use USB mounts within RetroArch and to use pulseaudio for RetroArch sessions.
Certain use cases require environment variables to be passed to the service. Define these variables in /etc/conf.d/retroarch-standalone and they will be passed along to the service.