Unity Machine Learning Agents Toolkit
The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents. We provide implementations (based on PyTorch) of state-of-the-art algorithms to enable game developers and hobbyists to easily train intelligent agents for 2D, 3D and VR/AR games. Researchers can also use the provided simple-to-use Python API to train Agents using reinforcement learning, imitation learning, neuroevolution, or any other methods. These trained agents can be used for multiple purposes, including controlling NPC behavior (in a variety of settings such as multi-agent and adversarial), automated testing of game builds and evaluating different game design decisions pre-release. The ML-Agents Toolkit is mutually beneficial for both game developers and AI researchers as it provides a central platform where advances in AI can be evaluated on Unity’s rich environments and then made accessible to the wider research and game developer communities.
See our ML-Agents Overview page for detailed descriptions of all these features.
Our latest, stable release is
Release 10. Click here to get started with the latest release of ML-Agents.
The table below lists all our releases, including our
masterbranch which is under active development and may be unstable. A few helpful guidelines: - The Versioning page overviews how we manage our GitHub releases and the versioning process for each of the ML-Agents components. - The Releases page contains details of the changes between releases. - The Migration page contains details on how to upgrade from earlier releases of the ML-Agents Toolkit. - The Documentation links in the table below include installation and usage instructions specific to each release. Remember to always use the documentation that corresponds to the release version you're using.
| Version | Release Date | Source | Documentation | Download | |:-------:|:------:|:-------------:|:-------:|:------------:| | master (unstable) | -- | source | docs | download | | Release 10 | November 18, 2020 | source | docs | download | | Release 9 | November 4, 2020 | source | docs | download | | Release 8 | October 14, 2020 | source | docs | download | | Release 7 | September 16, 2020 | source | docs | download | | Release 6 | August 12, 2020 | source | docs | download | | Release 5 | July 31, 2020 | source | docs | download | | Release 4 | July 15, 2020 | source | docs | download |
If you are a researcher interested in a discussion of Unity as an AI platform, see a pre-print of our reference paper on Unity and the ML-Agents Toolkit.
If you use Unity or the ML-Agents Toolkit to conduct research, we ask that you cite the following paper as a reference:
Juliani, A., Berges, V., Teng, E., Cohen, A., Harper, J., Elion, C., Goy, C., Gao, Y., Henry, H., Mattar, M., Lange, D. (2020). Unity: A General Platform for Intelligent Agents. arXiv preprint arXiv:1809.02627. https://github.com/Unity-Technologies/ml-agents.
We have published a series of blog posts that are relevant for ML-Agents:
In addition to our own documentation, here are some additional, relevant articles:
For problems with the installation and setup of the ML-Agents Toolkit, or discussions about how to best setup or train your agents, please create a new thread on the Unity ML-Agents forum and make sure to include as much detail as possible. If you run into any other problems using the ML-Agents Toolkit or have a specific feature request, please submit a GitHub issue.
Your opinion matters a great deal to us. Only by hearing your thoughts on the Unity ML-Agents Toolkit can we continue to improve and grow. Please take a few minutes to let us know about it.
For any other questions or feedback, connect directly with the ML-Agents team at [email protected]