| # Installation | |
| The ML-Agents Toolkit contains several components: | |
| - Unity package ([`com.unity.ml-agents`](../com.unity.ml-agents/)) contains the | |
| Unity C# SDK that will be integrated into your Unity project. This package contains | |
| a sample to help you get started with ML-Agents. | |
| - Unity package | |
| ([`com.unity.ml-agents.extensions`](../com.unity.ml-agents.extensions/)) | |
| contains experimental C#/Unity components that are not yet ready to be part | |
| of the base `com.unity.ml-agents` package. `com.unity.ml-agents.extensions` | |
| has a direct dependency on `com.unity.ml-agents`. | |
| - Two Python packages: | |
| - [`mlagents`](../ml-agents/) contains the machine learning algorithms that | |
| enables you to train behaviors in your Unity scene. Most users of ML-Agents | |
| will only need to directly install `mlagents`. | |
| - [`mlagents_envs`](../ml-agents-envs/) contains a set of Python APIs to interact with | |
| a Unity scene. It is a foundational layer that facilitates data messaging | |
| between Unity scene and the Python machine learning algorithms. | |
| Consequently, `mlagents` depends on `mlagents_envs`. | |
| - Unity [Project](https://github.com/Unity-Technologies/ml-agents/tree/main/Project/) that contains several | |
| [example environments](Learning-Environment-Examples.md) that highlight the | |
| various features of the toolkit to help you get started. | |
| Consequently, to install and use the ML-Agents Toolkit you will need to: | |
| - Install Unity (2022.3 or later) | |
| - Install Python (3.8.13 or higher) | |
| - Clone this repository (Optional) | |
| - __Note:__ If you do not clone the repository, then you will not be | |
| able to access the example environments and training configurations or the | |
| `com.unity.ml-agents.extensions` package. Additionally, the | |
| [Getting Started Guide](Getting-Started.md) assumes that you have cloned the | |
| repository. | |
| - Install the `com.unity.ml-agents` Unity package | |
| - Install the `com.unity.ml-agents.extensions` Unity package (Optional) | |
| - Install the `mlagents` Python package | |
| ### Install **Unity 2022.3** or Later | |
| [Download](https://unity3d.com/get-unity/download) and install Unity. We | |
| strongly recommend that you install Unity through the Unity Hub as it will | |
| enable you to manage multiple Unity versions. | |
| ### Install **Python 3.7.2** or Higher | |
| We recommend [installing](https://www.python.org/downloads/) Python 3.7. | |
| If you are using Windows, please install the x86-64 version and not x86. | |
| If your Python environment doesn't include `pip3`, see these | |
| [instructions](https://packaging.python.org/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers) | |
| on installing it. | |
| ### Clone the ML-Agents Toolkit Repository (Optional) | |
| Now that you have installed Unity and Python, you can now install the Unity and | |
| Python packages. You do not need to clone the repository to install those | |
| packages, but you may choose to clone the repository if you'd like download our | |
| example environments and training configurations to experiment with them (some | |
| of our tutorials / guides assume you have access to our example environments). | |
| **NOTE:** There are samples shipped with the Unity Package. You only need to clone | |
| the repository if you would like to explore more examples. | |
| ```sh | |
| git clone --branch release_20 https://github.com/Unity-Technologies/ml-agents.git | |
| ``` | |
| The `--branch release_20` option will switch to the tag of the latest stable | |
| release. Omitting that will get the `main` branch which is potentially unstable. | |
| #### Advanced: Local Installation for Development | |
| You will need to clone the repository if you plan to modify or extend the | |
| ML-Agents Toolkit for your purposes. If you plan to contribute those changes | |
| back, make sure to clone the `main` branch (by omitting `--branch release_20` | |
| from the command above). See our | |
| [Contributions Guidelines](../com.unity.ml-agents/CONTRIBUTING.md) for more | |
| information on contributing to the ML-Agents Toolkit. | |
| ### Install the `com.unity.ml-agents` Unity package | |
| The Unity ML-Agents C# SDK is a Unity Package. You can install the | |
| `com.unity.ml-agents` package | |
| [directly from the Package Manager registry](https://docs.unity3d.com/Manual/upm-ui-install.html). | |
| Please make sure you enable 'Preview Packages' in the 'Advanced' dropdown in | |
| order to find the latest Preview release of the package. | |
| **NOTE:** If you do not see the ML-Agents package listed in the Package Manager | |
| please follow the [advanced installation instructions](#advanced-local-installation-for-development) below. | |
| #### Advanced: Local Installation for Development | |
| You can [add the local](https://docs.unity3d.com/Manual/upm-ui-local.html) | |
| `com.unity.ml-agents` package (from the repository that you just cloned) to your | |
| project by: | |
| 1. navigating to the menu `Window` -> `Package Manager`. | |
| 1. In the package manager window click on the `+` button on the top left of the packages list). | |
| 1. Select `Add package from disk...` | |
| 1. Navigate into the `com.unity.ml-agents` folder. | |
| 1. Select the `package.json` file. | |
| <p align="center"> | |
| <img src="../images/unity_package_manager_window.png" | |
| alt="Unity Package Manager Window" | |
| height="150" | |
| border="10" /> | |
| <img src="../images/unity_package_json.png" | |
| alt="package.json" | |
| height="150" | |
| border="10" /> | |
| </p> | |
| If you are going to follow the examples from our documentation, you can open the | |
| `Project` folder in Unity and start tinkering immediately. | |
| ### Install the `com.unity.ml-agents.extensions` Unity package (Optional) | |
| To install the `com.unity.ml-agents.extensions` package, you need to first | |
| clone the repo and then complete a local installation similar to what was | |
| outlined in the previous | |
| [Advanced: Local Installation for Development](#advanced-local-installation-for-development-1) | |
| section. Complete installation steps can be found in the | |
| [package documentation](../com.unity.ml-agents.extensions/Documentation~/com.unity.ml-agents.extensions.md#installation). | |
| ### Install the `mlagents` Python package | |
| Installing the `mlagents` Python package involves installing other Python | |
| packages that `mlagents` depends on. So you may run into installation issues if | |
| your machine has older versions of any of those dependencies already installed. | |
| Consequently, our supported path for installing `mlagents` is to leverage Python | |
| Virtual Environments. Virtual Environments provide a mechanism for isolating the | |
| dependencies for each project and are supported on Mac / Windows / Linux. We | |
| offer a dedicated [guide on Virtual Environments](Using-Virtual-Environment.md). | |
| #### (Windows) Installing PyTorch | |
| On Windows, you'll have to install the PyTorch package separately prior to | |
| installing ML-Agents. Activate your virtual environment and run from the command line: | |
| ```sh | |
| pip3 install torch~=1.7.1 -f https://download.pytorch.org/whl/torch_stable.html | |
| ``` | |
| Note that on Windows, you may also need Microsoft's | |
| [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) | |
| if you don't have it already. See the [PyTorch installation guide](https://pytorch.org/get-started/locally/) | |
| for more installation options and versions. | |
| #### Installing `mlagents` | |
| To install the `mlagents` Python package, activate your virtual environment and | |
| run from the command line: | |
| ```sh | |
| python -m pip install mlagents==0.30.0 | |
| ``` | |
| Note that this will install `mlagents` from PyPi, _not_ from the cloned | |
| repository. If you installed this correctly, you should be able to run | |
| `mlagents-learn --help`, after which you will see the command | |
| line parameters you can use with `mlagents-learn`. | |
| By installing the `mlagents` package, the dependencies listed in the | |
| [setup.py file](../ml-agents/setup.py) are also installed. These include | |
| [PyTorch](Background-PyTorch.md) (Requires a CPU w/ AVX support). | |
| #### Advanced: Local Installation for Development | |
| If you intend to make modifications to `mlagents` or `mlagents_envs`, you should | |
| install the packages from the cloned repository rather than from PyPi. To do | |
| this, you will need to install `mlagents` and `mlagents_envs` separately. From | |
| the repository's root directory, run: | |
| ```sh | |
| pip3 install torch -f https://download.pytorch.org/whl/torch_stable.html | |
| pip3 install -e ./ml-agents-envs | |
| pip3 install -e ./ml-agents | |
| ``` | |
| Running pip with the `-e` flag will let you make changes to the Python files | |
| directly and have those reflected when you run `mlagents-learn`. It is important | |
| to install these packages in this order as the `mlagents` package depends on | |
| `mlagents_envs`, and installing it in the other order will download | |
| `mlagents_envs` from PyPi. | |
| ## Next Steps | |
| The [Getting Started](Getting-Started.md) guide contains several short tutorials | |
| on setting up the ML-Agents Toolkit within Unity, running a pre-trained model, | |
| in addition to building and training environments. | |
| ## Help | |
| If you run into any problems regarding ML-Agents, refer to our [FAQ](FAQ.md) and | |
| our [Limitations](Limitations.md) pages. If you can't find anything please | |
| [submit an issue](https://github.com/Unity-Technologies/ml-agents/issues) and | |
| make sure to cite relevant information on OS, Python version, and exact error | |
| message (whenever possible). | |