A tool to automate the manual activation of unity license using puppeteer.
Inspired by https://github.com/MizoTake/unity-license-activate (@MizoTake).
npm install unity-activate
const { ActivatorOptions, Activator } = require('unity-activate');
(async () => {
new Activator({
file :'input.alf',
username :'username',
password :'password',
authKey :'authenticator_key',
serial :'serial_code',
out :'output_dir',
}).run();
})();
# Installation:
npm install -g unity-activate
Usage:
$ unity-activate [opts] <*.alf>
Activate Unity activation license file (Unity_v***.alf or Unity_lic.alf)
NOTE: If two-factor authentication is enabled, the verify code will be requested.
Options:
-o, --out <dir> Output ulf file to the specified directory (default: .)
-u, --username <username> Username (email) to login Unity (default: $UNITY_USERNAME)
-p, --password <password> Password to login Unity (default: $UNITY_PASSWORD)
-k, --key <key> The authenticator key to login (default: $UNITY_KEY).
-s, --serial <serial> Serial key to activate (default: $UNITY_SERIAL). If empty, activate as personal license.
NOTE: Unity Personal Edition is not available to companies or organizations that earned more than USD100,000 in the previous fiscal year.
-d, --debug Display additional log and dump content to 'error.html' on error (default: false)
--headful Run "headful" puppeteer (default: false)
-h, --help Display this message
-v, --version Display version number
Create a license activation file and import license file by command.
# On Windows:
$ "C:\Program Files\Unity\Editor\Unity.exe" -batchmode -createManualActivationFile
# On macOS:
$ /Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -createManualActivationFile
Or, with UnityHub (Settings > License Management > MANUAL ACTIVATION > SAVE LICENSE REQUEST
).
Run unity-activate
to download the *.ulf
file.
# For personal license (with interaction):
$ unity-activate ***.alf
$ > enter the username and password
$ username: your@email.com
$ password: *****
...
# For personal license:
$ unity-activate --username your@email.com --password your_password ***.alf
# For professional license (with --serial option):
$ unity-activate --username your@email.com --password your_password --serial your_serial_code ***.alf
# Use environment variables instead of options:
$ export UNITY_USERNAME=your@email.com
$ export UNITY_PASSWORD=your_password
$ export UNITY_SERIAL=your_serial_code # If empty, activate as personal license.
$ unity-activate ***.alf
Now that you have your license file, you can activate your Unity account by command.
# On Windows:
$ "C:\Program Files\Unity\Editor\Unity.exe" -batchmode -manualLicenseFile ***.ulf
# On macOS:
$ /Applications/Unity/Unity.app/Contents/MacOS/Unity -batchmode -manualLicenseFile ***.ulf
Or, with UnityHub.
Signing in to Unity requires authentication via email or a authenticator app (eg. Google Authenticator). You can use an authenticator key instead of those.
$ unity-activate --username your@email.com --password your_password --key your_authenticator_key ***.alf
- Login to Unity account and activate new two factor authentication.
Go to https://id.unity.com/en/settings/tfa/new and clickStart setup
- Select
Authenticator App
and clickNext
- Click
Can't scan the barcode?
.
Find and save the authenticator key
- Verify activation with Google Authenticator. You can also verify using a QR code
Issues are very valuable to this project.
- Ideas are a valuable source of contributions others can make
- Problems show where this project is lacking
- With a question you show where contributors can improve the user experience
Pull requests are, a great way to get your ideas into this repository.
This is an open source project that I am developing in my spare time.
If you like it, please support me.
With your support, I can spend more time on development. :)
- MIT
- GitHub page : https://github.com/mob-sakai/unity-activate
- Releases : https://github.com/mob-sakai/unity-activate/releases
- Issue tracker : https://github.com/mob-sakai/unity-activate/issues
- Change log : https://github.com/mob-sakai/unity-activate/blob/main/CHANGELOG.md