1. Getting started

1.1. Requirements

  • Windows with installed Unity 64-bit Editor.

  • Unity versions: 2018 LTS, 2019.x or 2020.x.

  • API Compatibility Level (for Windows standalone players): .NET 4.x

1.2. Installing the plugin

The AGX Dynamics for Unity plugin is distributed as a Unity package and be downloaded here.

  1. Import the package into your project.

    _images/import_custom_package.png
  2. Select the downloaded AGX Dynamics for Unity package and click Open then Import.

    _images/import_custom_package_window.png

    Note

    If Unity is catching DllNotFound exceptions of agxDotNetRuntime.dll - restart Unity.

  3. If the API compatibility level is set to .NET Standard 2.0, AGX Dynamics for Unity will issue a warning to the console (or won’t compile in Unity 2017):

    _images/api_comp_warning.png

    Change API Compatibility Level: Edit -> Project Settings… -> Player -> Other Settings -> Configuration -> Api Compatibility Level -> .NET 4.x.

    _images/api_comp_fix.png

1.3. Updating the plugin

From version 2.0.0-beta.8 there is built in functionality to check for new versions of AGX Dynamics for Unity. When a new version is detected the package can be downloaded and installed.

  1. Open Check for Updates… window from the main menu.

    _images/check_for_updates_menu.png
  2. When a new version is available, press Download to start the download of the new package. The package is downloaded to System.IO.Path.GetTempPath() and the package isn’t deleted in the update process.

    _images/check_for_updates_window.png _images/check_for_updates_downloading.png
  3. When the package has been downloaded, press Install to to start the installation process.

    Note

    Unity will be restarted during this update and all content in the AGXUnity folder will be deleted (except agx.lic and user preferences/settings). All other files and folders (under AGXUnity) will be deleted. Make sure any additional files and/or local changes are backed up before updating.

    _images/check_for_updates_install.png
  4. After Unity has restarted the update will continue by removing all the files and folders under the AGXUnity directory. Unity will recompile all scripts in the project several times during this process, and any script referencing AGXUnity or AGXUnityEditor won’t temporarily compile (compile errors in the Console).

    Note

    The new package is installed from script with UnityEditor.AssetDatabase.ImportPackage which is asynchronous and not possible to track when it’s done. This means that AGX Dynamics for Unity won’t know if the update was successful or not.

1.3.1. Manual update

The native binaries of AGX Dynamics are loaded into the Unity process. This means that Unity has to be closed before these files can be deleted or modified and that’s why import custom package isn’t supported when AGX Dynamics for Unity already is installed in the project.

  1. Close Unity.

  2. Backup any local changes and/or additional files located in the AGXUnity directory, e.g., agx.lic.

  3. Delete the AGXUnity folder in the project Assets directory.

  4. Reopen the project in Unity.

  5. Perform Installing the plugin.

1.4. Licensing

This software is dependent on the multi-purpose physics simulation engine AGX Dynamics and requires a valid license to run the simulations. Please contact sales to request an evaluation license or a price quote.

1.4.1. Activate AGX Dynamics for Unity using agx.lic

Editor

Copy agx.lic to one of AGX Dynamics resource paths, e.g., Assets/AGXUnity/Plugins/x86_64.

_images/license_agx_lic_location.png

Runtime

In a built application, AGX Dynamics resource paths are:

  • Path of the executable.

  • Application.dataPath -> <project_name>_Data

  • <project_name>_Data/Plugins

  • <project_name>_Data/Plugins/agx

agx.lic should be placed in one of these directories.