Skip to content

rwth-acis/i5-Toolkit-for-Unity

Repository files navigation

i5 Toolkit for Unity

i5 Toolkit for Unity

This toolkit contains a collection of features which can be reused in Unity projects. It is a foundation for new projects, kickstarting the development with already completed tools.

Continuous Integration

1.9.5

openupm

Modules

The i5 Toolkit provides a series of modules and features that can be used in projects.

App Console
App Console
Deep Link
Deep Link
Experience API
Experience API
File Cache
File Cache
Modified 3D Objects
Modified 3D Models
Object Pool
Object Pool
Obj Importer
Obj Importer
OpenID Connect Client
OpenID Connect Client
Procedural Geometry
Procedural Geometry
Rocket.Chat Client
Rocket.Chat Client
Scene Documentation
Scene Documentation
Service Core
Service Core
Spawner
Spawner
Verbose Logging
Verbose Logging
Version Tool
Version Tool

Setup

Minimum Unity version: 2019.4.

There are different ways to add the package to a project.

You can follow the step-by-step instructions below or watch the video tutorial with installation instructions.

Alternative 1: Unity Dependency File with OpenUPM (Recommended)

The toolkit can be loaded using Unity's package manager. To do this, add an entry to the dependency file:

  1. Open your project's root folder in a file explorer.

  2. Navigate to the Packages folder and open the file manifest.json. It contains a list of package dependencies which are loaded into the project.

  3. Add a scoped registry definition which tells Unity to look at the given URL for the package.

    {
      "name": "com.i5.toolkit.core",
      "url": "https://package.openupm.com",
      "scopes": [
        "com.i5.toolkit.core"
      ]
    }
    
  4. To add a specific version of the tool to the dependencies, add the following line inside of the "dependencies" object and replace [version] by the release number, e.g. "1.9.5". "com.i5.toolkit.core": "[version]", After that, Unity will automatically download and import the package.

So, after completing these steps you should have a manifest.json file which looks like this:

{
  "scopedRegistries": [
    {
      "name": "com.i5.toolkit.core",
      "url": "https://package.openupm.com",
      "scopes": [
        "com.i5.toolkit.core"
      ]
    },
    ... some more scoped registries
    ],
    "dependencies": {
        "com.i5.toolkit.core":  "1.9.5",
        ... some more packages
    }
}

Alternative 2: Unity Dependency File with Git (Recommended)

The toolkit is available as a package for the Unity Package Manager. It can be included in new projects by referencing the git-repository on GitHub in the dependency file of the Unity project:

  1. Open your project's root folder in a file explorer.
  2. Navigate to the Packages folder and open the file manifest.json. It contains a list of package dependencies which are loaded into the project.
  3. To add a specific version of the tool to the dependencies, add the following line inside of the "dependencies" object and replace [version] with "v", followed by the release number, e.g. "v1.9.5". To receive the latest version, replace [version] with upm. "com.i5.toolkit.core": "https://github.com/rwth-acis/i5-Toolkit-for-Unity.git#[version]", After that, Unity will automatically download and import the package.

If you specify "upm" to get the latest version, be aware that the package is not automatically updated. This command just pulls the latest version which is available at that time. To update to the newest current version, remove the package again and re-download it.

Alternative 3: Unity Package Manager UI with Git

The package can be downloaded from a git-repository in the package manager's UI.

  1. In Unity, go to Window > Package Manger.
  2. Click on the plus-button in the top left corner of the package manager and select "add".
  3. Enter https://github.com/rwth-acis/i5-Toolkit-for-Unity.git#[version] into the text field where [version] is replaced with "v", followed by the release number, e.g. "v1.9.5" or upm for the latest version. Confirm the download by clicking on the "add" button.

If you specify "upm" to get the latest version, be aware that the package is not automatically updated. This command just pulls the latest version which is available at that time. To update to the newest current version, remove the package again and re-download it.

Alternative 4: Import using the OpenUPM command line interface

Documentation about the OpenUPM CLI can be found here.

  1. Intall the command line interface.
  2. Navigate to your Unity project's folder. This is the folder which also contains folders such as Assets or Packages.
  3. Enter the command openupm add com.i5.toolkit.core.

Alternative 5: Import custom package

Another option is to import the package as a .unitypackage.

  1. Download the .unitypackage-file which is supplied with the corresponding release on the releases page.
  2. With your project opened, perform a right-click on the assets browser in Unity. Select "Import Package > Custom Packge" from the context menu.
  3. Navigate to the path where you downloaded the .unitypackage-file, select it and confirm by clicking the "Open" buttom
  4. A dialog window opens where you can select which files should be imported. Select everything and click on "Import".

Important for this alternative: If you are updating from an earlier version, it is recommended to delete the existing "i5 Toolkit" folder. After that, import the new package.

Example Scenes

The different modules and features are presented in example scenes which can be found in the GitHub repository. You can use the example scenes as an interactive documentation, an experimentation playground and to test the features.

Unit Tests

The project is tested using Unit tests. Continuous integration using GitHub Actions has been set up to test and deploy new versions of the package.

Related Projects

For Mixed Reality development, also check out the i5 Toolkit for MR. It is an extension package that builds upon the functionality of this package and is optimized for Mixed Reality.

If you are working with non-player characters (NPCs), virtual agents or mixed reality agents, take a look at the Virtual Agents Framework. It provides a foundation for building virtual humans and modeling their behavior in a configurable way.

Disclaimer

This repository is not sponsored by or affiliated with Unity Technologies or its affiliates. "Unity" is a trademark or registered trademark of Unity Technologies or its affiliates in the U.S. and elsewhere.