* Upgrade projects to Unity 6000.0
* Upgrade obsolete Unity API
* Use stable version of upm-ci-utils
* Upgrade Wrench configuration to Unity 6000.0
* Use ubuntu-ci v1.0.0 for Yamato tests
* Use b1.medium VM for the Pack test
* Rely solely on IsEqualUsingDot quaternion comparison in the Pose inverse test due to float inaccuracy
* Re-enable Unity trunk ml-agents tests
* Use ubuntu-24.04 for pre-commit
* Use ubuntu-22.04 for colab
* Add missing PR references to the changelog
The 8.x release should contain https://github.com/dotnet/runtime/pull/90342 which fixes https://github.com/dotnet/runtime/issues/80619.
I hope this will fix flaky failures like https://github.com/Unity-Technologies/ml-agents/actions/runs/8268945605/job/22623023348 of the form:
```
dotnet-format............................................................Failed
- hook id: dotnet-format
- exit code: 1
System.IO.IOException: The system cannot open the device or file specified. : 'NuGet-Migrations'
at System.Threading.Mutex.CreateMutexCore(Boolean initiallyOwned, String name, Boolean& createdNew)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name)
at NuGet.Common.Migrations.MigrationRunner.Run(String migrationsDirectory)
at Microsoft.DotNet.Configurer.DotnetFirstTimeUseConfigurer.Configure()
at Microsoft.DotNet.Cli.Program.ConfigureDotNetForFirstTimeUse(IFirstTimeUseNoticeSentinel firstTimeUseNoticeSentinel, IAspNetCertificateSentinel aspNetCertificateSentinel, IFileSentinel toolPathSentinel, Boolean isDotnetBeingInvokedFromNativeInstaller, DotnetFirstRunConfiguration dotnetFirstRunConfiguration, IEnvironmentProvider environmentProvider, Dictionary`2 performanceMeasurements)
at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)
at Microsoft.DotNet.Cli.Program.Main(String[] args)
```
Fixes pre-commit errors of the form:
```
Run actions/setup-ruby@v1
with:
ruby-version: 2.6
env:
pythonLocation: /opt/hostedtoolcache/Python/3.10.13/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.13/x64/lib
ImageOS: ubuntu20
------------------------
NOTE: This action is deprecated and is no longer maintained.
Please, migrate to https://github.com/ruby/setup-ruby, which is being actively maintained.
------------------------
Error: Version 2.6 not found
```
While we're upgrading this pre-commit, also upgrade from ruby 2.6 to ruby 2.7.
* Commiting changes.
* Initial barracuda 4 upgrade.
* Play mode tests passing.
* Edit mode tests passing.
* Training fixes.
* Fixed performance issue with stacking sensor.
* Fixed failing tests and issue with stacking sensor.
* Updated examples for barracuda 4 upgrade.
* Fixed issue with attention ONNX export w.r.t. dimensions.
* Fixed issue with Buffer Sensor and Recurrent In/Out.
* Retrained old policies and updated with ONNX policies. Deprecated old policy versions.
* Saving work.
* Saving work.
* Updating to Sentis 1.1.1-exp.2
* Fixed more errors with Sentis upgrade.
* Fixed tensor allocation issue in TensorUtils.ResizeTensor. Inference is working for 3DBall with Sentis.
* Fixed broken Sentis model links for some example environments.
* Fixed some broken edit mode tests.
* Fixed some failing tests.
* Fixing bugs with GPU inference on Sentis.
* Updated packages lock and onnx meta files.
* Refactoring all Barracuda related naming to Sentis.
* Python max version bump.
* Precommit fixes.
* Pinned tensorboard version
* Revert tensorboard version.
* Fixed rpc tests.
* Fixed failing python tests.
* Fixed some more failing tests. Added six as an explicit dependency due to tensorboard requirements.
* gha fix.
* Updated environment registry for Sentis.
* Fixed texture sensor test.
* Develop python 3.10 (#5981)
* Deprecated python 3.8.x and 3.9.x.
* Updated colab gha test to 3.10.12
* Updated colabs for Sentis and python 3.10.
* Test fix.
* Minor update to colabs.
* Develop torch 1.13.1 (#5982)
* Bumped PyTorch version to 1.13.1
* Added potential fixes to model overrider TBD at a later date.
* Updated changelog.
* Updated protobufs. (#5983)
* Updated training init tests to remove inference test temporarily. (#5984)
* Updated to Unity 2022.3.
* Added support for batched raycasting in ray perception sensor. Only for 3D (batched raycasting is only supported in 3D).
* Added batched raycast tests and docs.
* Updated meta file validation exclude list.
* Added unity physics module dependency to core package.
* Added feature to training area replicator to optionally specify replications in builds only.
* Add ModelCarousel component that cycles through a list of models to show training progress.
* Add usage notes and fix default values
* Added new config feature to distribute checkpointing evenly throughout training.
* Dotnet formatting.
* Updated docs.
* Added tests.
Co-authored-by: Jason Rupert <jason.rupert@unity3d.com>
* Bumped minimum version of Unity.
* Bumped minimum version of python and pytorch. fixed issues with deprecation warnings for x.T (tensor transpose).
* Fixed np.bool deprecation warning. This is a port of an external PR: https://github.com/Unity-Technologies/ml-agents/pull/5795. (#71)
* Updated submodule.
* Bumped max ver of python.
* Bumped to 2021.3 in yamato tests.
* Fixed version issue with torch in test constraints.
* update sysroot version
* update toolchain version
Co-authored-by: zhuo <zhuo@unity3d.com>
* Update automated trigger references to support develop branch
* Update pull request template links to refer to develop branch.
* Fix release branch name for github actions
* Update pre-commit pattern
* Removing test that no longer applys to this repo
* Dropped support for python 3.6
* Pinning python 3.9.9 for tests due to typing issues with 3.9.10
* Testing new bokken image.
* Testing new bokken image.
* Updated yamato standalone build test.
* Updated yamato standalone build test.
* Updated standalone build test.
* Updated yamato configs to use mla bokken vm.
* Bug fixes for yamato yml files.
* Fixed com.unity.ml-agents-test.yml
* Bumped min python version to 3.7.2
* pettingzoo api prototype
* add example
* update file names
* support multiple behavior names
* fix multi behavior action index
* add install in colab
* add setup
* update colab
* fix __init__
* clone single branch
* import tags only
* import in init
* catch import error
* update colab
* move colab and add readme
* handle agent dying
* add tests
* update doc
* add info
* add action mask
* fix action mask
* update action masks in colab
* change default env
* set version
* fix hybrid action
* fix colab for hybrid actions
* add note on auto reset
* Updated colab name.
* Update README.md
* Following petting_zoo registry API (#5557)
* init petting_zoo registry
* cherrypick Custom trainer editor analytics (#5511)
* cherrypick "Update dotnet-format to address breaking changes introduced by upstream changes (#5528)"
* Update colab to match pettingZoo import api
* ToRevert: pull exp-petting-registry branch
* Add init file to tests
* Install pettingzoo-unity requirements for pytest
* update pytest command
* Add docstrings and comments
* update coverage to pettingzoo folder
* unset log level
* update env string
* Two small bugfixes (#5589)
1. Add the missing `_cumulative_rewards` property
2. Update `agent_selection` to not error out when an agent finishes an episode.
* Updated gym to 0.21.0 and petting zoo to 1.13.1, fixed bugs with AEC wrapper for gym and PZ updates. API tests are passing.
* Some refactoring.
* Finished inital implementation of parallel. Tests not passing.
* Finished parallel API implementation and refactor. All PZ tests passing.
* Cleanup.
* Refactoring.
* Pinning numpy version.
* add metadata and behavior_specs initialization
* addressing behaviour_spec issues
* Bumped PZ version to 1.14.0. Fixed failing tests.
* Refactored gym-unity and petting-zoo into ml-agents-envs
* Added TODO to pydoc-config.yaml
* Refactored gym and pz to be under a subpackage in mlagents_env package
* Refactored ml-agents-envs docs.
* Minor update to PZ API doc.
* Updated mlagents_envs docs and colab.
* Updated pytest gh workflow to remove ref to gym and pz.
* Refactored to remove some test coupling between trainers and envs.
* Updated installation doc.
* Update ml-agents-envs/README.md
Co-authored-by: Andrew Cohen <andrew.cohen@unity3d.com>
* Updated failing yamato jobs.
* pettingzoo api prototype
* add example
* update file names
* support multiple behavior names
* fix multi behavior action index
* add install in colab
* add setup
* update colab
* fix __init__
* clone single branch
* import tags only
* import in init
* catch import error
* update colab
* move colab and add readme
* handle agent dying
* add tests
* update doc
* add info
* add action mask
* fix action mask
* update action masks in colab
* change default env
* set version
* fix hybrid action
* fix colab for hybrid actions
* add note on auto reset
* Updated colab name.
* Update README.md
* Following petting_zoo registry API (#5557)
* init petting_zoo registry
* cherrypick Custom trainer editor analytics (#5511)
* cherrypick "Update dotnet-format to address breaking changes introduced by upstream changes (#5528)"
* Update colab to match pettingZoo import api
* ToRevert: pull exp-petting-registry branch
* Add init file to tests
* Install pettingzoo-unity requirements for pytest
* update pytest command
* Add docstrings and comments
* update coverage to pettingzoo folder
* unset log level
* update env string
* Two small bugfixes (#5589)
1. Add the missing `_cumulative_rewards` property
2. Update `agent_selection` to not error out when an agent finishes an episode.
* Updated gym to 0.21.0 and petting zoo to 1.13.1, fixed bugs with AEC wrapper for gym and PZ updates. API tests are passing.
* Some refactoring.
* Finished inital implementation of parallel. Tests not passing.
* Finished parallel API implementation and refactor. All PZ tests passing.
* Cleanup.
* Refactoring.
* Pinning numpy version.
* add metadata and behavior_specs initialization
* addressing behaviour_spec issues
* Bumped PZ version to 1.14.0. Fixed failing tests.
* Refactored gym-unity and petting-zoo into ml-agents-envs
* Added TODO to pydoc-config.yaml
* Refactored gym and pz to be under a subpackage in mlagents_env package
* Refactored ml-agents-envs docs.
* Minor update to PZ API doc.
* Updated mlagents_envs docs and colab.
* Updated pytest gh workflow to remove ref to gym and pz.
* Refactored to remove some test coupling between trainers and envs.
* Updated installation doc.
* Update ml-agents-envs/README.md
Co-authored-by: Andrew Cohen <andrew.cohen@unity3d.com>
* Updated CHANGELOG.
* Updated Migration guide.
* Doc updates based on CR.
* Updated github workflow for colab tests.
* Updated github workflow for colab tests.
* Updated github workflow for colab tests.
* Fixed yamato import error.
Co-authored-by: Ruo-Ping Dong <ruoping.dong@unity3d.com>
Co-authored-by: Miguel Alonso Jr <miguelalonsojr>
Co-authored-by: jmercado1985 <75792879+jmercado1985@users.noreply.github.com>
Co-authored-by: Maryam Honari <honari.m94@gmail.com>
Co-authored-by: Henry Peteet <henry.peteet@unity3d.com>
Co-authored-by: mahon94 <maryam.honari@unity3d.com>
Co-authored-by: Andrew Cohen <andrew.cohen@unity3d.com>
* Reformat coalb files (#2)
* Update GitHub actions for GitHub Enterprise Compat (#1)
### Proposed change(s)
Update the GitHub actions to work in GitHub Enterprise (move from public to enterprise + public mirror).
### Useful links (Github issues, JIRA tickets, ML-Agents forum threads etc.)
https://jira.unity3d.com/browse/MLA-2344
### Types of change(s)
- [x] Code refactor
### Depends on https://github.cds.internal.unity3d.com/unity/actions-syncer/pull/44
### Depends on #2 to reformat some colab notebooks
### Verified working actions vs untested (need to test once this is checked in):
- [x] colab
- [x] pre-commit
- [x] pytest
- [ ] nightly (will automatically be tested upon submission)
- [ ] publish pypi (this needs to be careful)
- [ ] Lock Threads (should only run on public mirror of repo once mirroring is complete)
* Reformat coalb files (#2)
* Update GitHub actions for GitHub Enterprise Compat (#1)
### Proposed change(s)
Update the GitHub actions to work in GitHub Enterprise (move from public to enterprise + public mirror).
### Useful links (Github issues, JIRA tickets, ML-Agents forum threads etc.)
https://jira.unity3d.com/browse/MLA-2344
### Types of change(s)
- [x] Code refactor
### Depends on https://github.cds.internal.unity3d.com/unity/actions-syncer/pull/44
### Depends on #2 to reformat some colab notebooks
### Verified working actions vs untested (need to test once this is checked in):
- [x] colab
- [x] pre-commit
- [x] pytest
- [ ] nightly (will automatically be tested upon submission)
- [ ] publish pypi (this needs to be careful)
- [ ] Lock Threads (should only run on public mirror of repo once mirroring is complete)
Pre-commit is using a version of dotnet and dotnet-format and has picked up a newer version of the utility that is not compatible with .NET 3.1 or 5.x -- it installs it's packages using dotnet tool install. This version's default entrypoint is also incompatible with our project structure, as the style and analyzer subcommands are now run by default and do not support the --folder option.
The entrypoint can be over-ridden to specify the whitespace module, which should match previous behavior.
* Python Low Level API Documentation
Added Python Low Level API Documentation in addition to How to Use document. Added link to API documentation in How to Use document.
* Fixed pre-commit issues with docstrings in mlagents-env base_env
* Added local precommit hook to autogenerate markdown documentation using pydoc-markdown
* Updated github precommit workflow to install pydoc-markdown
* Updated github precommit workflow to fix pydoc-markdown install order.
* Some refactoring and docstring updates.
* Removed modules from doc generation as per https://github.com/Unity-Technologies/ml-agents/pull/5325#discussion_r632838268
* Some edits to the documentation (#5369)
* Some edits to the documentation
* fix precommit
* Update ml-agents-envs/mlagents_envs/base_env.py
* regenerating markdown
* Added fixed version to pydoc-markdown precommit install.
* Updated docs readme to add link to new Python API documentation.
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
* Fixing networks.py for the merge
* fix compile error
* Adding the goal conditioning sensors with the new observation specs
* addressing feedback
* I forgot to change the m_observationType
* Renaming Goal to GoalSignal (#5190)
* Renaming GOAL to GOAL_SIGNAL
* VectorSensorComponent to use new API
* Adding docstrings
* verbose pytest on github action
Co-authored-by: Chris Elion <chris.elion@unity3d.com>