npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

unity-license-activate

v0.3.9

Published

[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0) [![Release](https://img.shields.io/github/tag/jcs090218/unity-license-activate.svg?label=release&logo=github)](https://github.com/jcs090

Downloads

519

Readme

License Release npm npm-dt npm-dm

unity-license-activate

A tool to automate the manual activation of unity license using puppeteer

CI

This is a fork from MizoTake/unity-license-activate.

This tool is design to use with GameCI and personal license (free version) users. Personal license will expire after some times, then you most likely would have to repeast the step Activation - Personal License in order to keep the CI running. Thankfully, you can use this tool to constantly activate a new license from Unity's licensing system.

🔨 How to use?

You can use this tools with any CI/CD system as long as you have the Node environment set up! Here is an example for GitHub Actions.

jobs:
  acquire_ulf:
    name: Acquire .ulf file 🔑
    runs-on: ubuntu-latest
    steps:
      - name: Set up Node.js
        uses: actions/setup-node@v1
        with:
          node-version: '16'

      - name: Install node package, `unity-license-activate`
        run: npm install --global unity-license-activate

      - name: Activate the license
        run: unity-license-activate "${{ secrets.UNITY_EMAIL }}" "${{ secrets.UNITY_PASSWORD }}" "${{ needs.request_alf.outputs.alf }}"

      - name: Read ulf
        id: ulfRead
        uses: juliangruber/[email protected]
        with:
          path: ${{ env.ULF_FILE }}

      - name: Update secret UNITY_LICENSE
        uses: hmanzur/[email protected]
        with:
          name: 'UNITY_LICENSE'
          value: '${{ steps.ulfRead.outputs.content }}'
          token: ${{ secrets.ACCESS_TOKEN }}

See the full example here.

🔐 Two Factor Authentication (TFA)

Unity requires you to enter a 6 digit verification code when signing in. This project supports two types of verification code:

Authenticator App (TOTP)

Authenticator App is the preferred option when TFA is explicitly enabled on an account. To get past this, specify your original authenticator key and unity-license-activate will generate a TOTP automatically.

      - name: Activate the license
        run: unity-license-activate ... --authenticator-key "${{ secrets.UNITY_TOTP_KEY }}"

How to obtain authenticator key

  • Login to Unity account and activate new two factor authentication. Go to https://id.unity.com/en/settings/tfa/new and click Start setup
  • Select Authenticator App and click Next
  • 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

Email

Email is the default option when you have not enabled TFA on your account.

To get past this, you would have to install unity-verify-code in your workflow and follow the steps here to allow access to your email inbox (IMAP).

      - name: Install node package, `unity-verify-code`
        run: npm install --global unity-verify-code

If you have different password from Unity account and Email account, you would need to add --password flag to it.

      - name: Activate the license
        run: unity-license-activate ... --password "${{ secrets.EMAIL_PASSWORD }}"

㊙️ Secrets

You should have 3 ~ 4 GitHub secrets to correctly set up the entire workflow.

  • UNITY_EMAIL - Email address that you use to login to Unity
  • UNITY_PASSWORD - Password that you use to login to Unity
  • ACCESS_TOKEN - Use to update secret UNITY_LICENSE, see hmanzur/actions-set-secret#token
  • EMAIL_PASSWORD (optional) - Use to get pass Unity's Two Factor Authentication, UNITY_PASSWORD is used by default assuming your passwords are the same.
  • UNITY_TOTP_KEY (optional) - Use to pass Unity's Two Factor Authentication,

🩺 Error handling

For some reason, if this plugin does not work. Try configure your workflow file like this,

      - name: Activate the license
        run: unity-license-activate "${{ secrets.UNITY_EMAIL }}" "${{ secrets.UNITY_PASSWORD }}" "${{ needs.request_alf.outputs.alf }}"

      # Add the error handling step here!
      - name: 🩺 Upload error screenshot
        if: failure()
        uses: actions/upload-artifact@v1
        with:
          name: screenshot_error
          path: error.png

The program generates a error.png file if something went wrong. Then you can download and see what's the last step before the program is exited.

📇 Command Line Arguments

usage : unity-license-activate EMAIL [EMAIL ...] PASSWORD [PASSWORD ...] ALF [ALF ...]

Unity License Activate : Activate Unity license through CLI.

positional arguments:
  EMAIL          Username or Email you use to register for Unity account
  PASSWORD       Password to login Unity account
  ALF            Unity activation license file path

🔗 Links

  • https://license.unity3d.com/manual

⚜️ License

This repository is Apache 2.0 licensed.

This includes all contributions from the community.