Skip to content

IdleKit NPM Registry

This guide helps to set up our NPM registry. Before you read this guide you should:

  • Have NPM installed in your environment
  • Have a user account within our NPM registry with access
  • Be sure that your project or Unity version can use the Unity Package Manager

NPM access

To access the ESG NPM packages, you need the .upmconfig.toml file in your base user directory - C:\Users\{username}\.upmconfig.toml on Windows, and /Users/{username}/.upmconfig.toml on Mac. This file will be provided to you by a solutions engineer, reach out in your shared channel if you didn't already get a copy.

Manifest file

To make sure the package you want to manage using the Package Manager works, you need to modify the dependencies with the package name and the version to be used and update the scopedRegistries with the information on where this package is hosted.

Info

Our package name structure looks like this com.{scope-name}.{package-name}

Here is how your manifest.json will look like after updating it:

{
  "dependencies": {
    "com.{scope-name}.{package-name}": "1.0.0",
    ...
  },
  "scopedRegistries": [
    {
      "name": "eastsidegames",
      "url": "https://idlekit-nexus-dev.eastsidegames.com/repository/{repository-name}", //the Host URL of the registry
      "scopes": [
        "com.{scope-name}"
      ]
    }
  ]
}

Repository name will generally be unity-all unless stated otherwise.

Unity Package Manager

Now that you have the credentials and the information needed for downloading the package on your manifest.json, open your unity (if you have it opened already, make sure to restart it), and then open the Package Manager. If everything is right, you should see the package you specified, like the one here:

packagemanager

If what you see is something similar to the image above, that means it's all set up.

NPM Access for Unity Cloud Build

To access our NPM server in Unity Cloud Build, follow these steps: 1. Create a bash script and place it somewhere in your unity project (e.g. Assets/CloudBuilds/Scripts/pre-build.sh) with the following content:

#!/bin/bash
echo "[YOUR_UPM_SERVICE_ADDRESS]" >> ~/.upmconfig.toml
echo "token = '$NPM_TOKEN'" >> ~/.upmconfig.toml
echo "email = '$NPM_TOKEN_EMAIL'" >> ~/.upmconfig.toml
echo "alwaysAuth = true" >> ~/.upmconfig.toml
2. Open the Cloud Builds Dashboard -> Config -> Advanced Options -> EDIT ADVANCED OPTIONS -> Pre-Build Script and add the path to the script created at step #1 3. Open the Cloud Builds Dashboard -> Config -> Environment Variables -> EDIT ENVIRONMENT VARIABLES and add the following two variables: NPM TOKEN with the token from your .upmconfig.toml file. NPM_TOKEN_EMAIL this email will be {your studio name all lowercase}@eastsidegamestudio.com

If you are using a build server other than Unity Cloud Build, reach out in your shared slack channel and we will work out another solution.