No thanks to Unity Hub for vague errors without a hint to where the logs are, I found them at %appdata%\UnityHub\logs\info-log.json
{"timestamp":"2024-02-22T06:28:51.596Z","level":"info","moduleName":"UnityInstallerWindows","message":"[ 'spawn child process, elevated:', true ]"}
{"timestamp":"2024-02-22T06:28:51.596Z","level":"info","moduleName":"UnityInstallerWindows","message":"[ 'executing', '\"C:\\\\Program Files\\\\Unity Hub\\\\Unity Hub.exe\"', '-- --winInstaller' ]"}
{"timestamp":"2024-02-22T06:28:52.247Z","level":"info","moduleName":"UnityInstallerWindows","message":"[ 'user did not agree to the UAC prompt and the process was not started' ]"}
{"timestamp":"2024-02-22T06:28:52.249Z","level":"info","moduleName":"UnityIPCServer","message":"[ 'IPC server Unity-hubInstallServer closed' ]"}
{"timestamp":"2024-02-22T06:28:52.249Z","level":"error","moduleName":"UnityInstallerWindows","message":"[ { code: 'User did not grant permission.', message: 'The Hub does not have proper permissions to install Unity.' }, undefined, undefined ]"}
The logs state that I did not grant UAC permission, yet the UAC prompt never came up. Specifically:
Unity Hub.exe\"', '-- --winInstaller' ]"}
The Hub does not have proper permissions to install Unity.' }, undefined, undefined ]"}
…likely due to undefined, undefined
. There’s also the strange “-- --winInstaller” flag, where a —flag seems to be partially added but missing. I’d almost bet money that there’s some kind of --elevate flag that’s supposed to be there. Heck, it probably also detected a bad-named flag named either " " || " --winInstaller" since it’s probably detecting the next word after “–” which !exists.
Hub has a track record of having poor-quality updates - if Unity was Conanical or someone trusted to actually have proper QA testing, this would be different. However, we’re talking about Unity, here, infamous for lacking QA - with Hub intensifying this statement tenfold. I doubt it’s me.
The two undefined
vars on top of the missing --flag seem to scream “we were supposed to elevate, but an untested Unity Hub bug prevented it”.