diff --git a/.yamato/com.unity.ml-agents-coverage.yml b/.yamato/com.unity.ml-agents-coverage.yml
index 5ddeb6b95d..e47b210929 100644
--- a/.yamato/com.unity.ml-agents-coverage.yml
+++ b/.yamato/com.unity.ml-agents-coverage.yml
@@ -33,9 +33,6 @@ test_coverage_{{ package.name }}_{{ platform.name }}_{{ editor.version }}_{{ edi
NOT pull_request.draft AND
(pull_request.changes.any match "com.unity.ml-agents/**" OR
pull_request.changes.any match " {{ editor.testProject }}/**" OR
- {% if package.name == "com.unity.ml-agents.extensions" %}
- pull_request.changes.any match "com.unity.ml-agents.extensions/**" OR
- {% endif %}
pull_request.changes.any match ".yamato/com.unity.ml-agents-coverage.yml")
{% endif %}
{% endfor %}
diff --git a/.yamato/com.unity.ml-agents-pack.yml b/.yamato/com.unity.ml-agents-pack.yml
index 3349cfed90..b37d9980a2 100644
--- a/.yamato/com.unity.ml-agents-pack.yml
+++ b/.yamato/com.unity.ml-agents-pack.yml
@@ -7,6 +7,8 @@ pack:
commands:
- |
eval "$($HOME/anaconda/bin/conda shell.bash hook)"
+ sudo apt-get update
+ sudo apt-get install upm-pvp=0.76.0
conda activate python3.10
python3 -m pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade
unity-downloader-cli -u 6000.0 -c editor --wait --fast
diff --git a/.yamato/com.unity.ml-agents-test.yml b/.yamato/com.unity.ml-agents-test.yml
index 38b4fcc586..6345ad8608 100644
--- a/.yamato/com.unity.ml-agents-test.yml
+++ b/.yamato/com.unity.ml-agents-test.yml
@@ -29,9 +29,6 @@ packages:
- name: com.unity.ml-agents
assembly: Unity.ML-Agents
minCoveragePct: 72
- - name: com.unity.ml-agents.extensions
- assembly: Unity.ML-Agents.Extensions*
- minCoveragePct: 75
---
all_package_tests:
@@ -102,9 +99,6 @@ test_{{ package.name }}_{{ platform.name }}_{{ editor.version }}_{{ editor.testP
NOT pull_request.draft AND
(pull_request.changes.any match "com.unity.ml-agents/**" OR
pull_request.changes.any match " {{ editor.testProject }}/**" OR
- {% if package.name == "com.unity.ml-agents.extensions" %}
- pull_request.changes.any match "com.unity.ml-agents.extensions/**" OR
- {% endif %}
pull_request.changes.any match ".yamato/com.unity.ml-agents-test.yml")
{% endif %}
{% endfor %}
diff --git a/.yamato/compressed-sensor-test.yml b/.yamato/compressed-sensor-test.yml
index db688c8634..efc908e4e6 100644
--- a/.yamato/compressed-sensor-test.yml
+++ b/.yamato/compressed-sensor-test.yml
@@ -28,7 +28,6 @@ test_compressed_obs_{{ editor.version }}_{{ editor.extra_test }}:
pull_request.target match "release.+") AND
NOT pull_request.draft AND
(pull_request.changes.any match "com.unity.ml-agents/**" OR
- pull_request.changes.any match "com.unity.ml-agents.extensions/**" OR
pull_request.changes.any match "Project/**" OR
pull_request.changes.any match "ml-agents/tests/yamato/**" OR
pull_request.changes.any match "ml-agents-envs/**" OR
diff --git a/.yamato/coverage_tests.metafile b/.yamato/coverage_tests.metafile
index aa79f55dc9..199717466c 100644
--- a/.yamato/coverage_tests.metafile
+++ b/.yamato/coverage_tests.metafile
@@ -12,6 +12,3 @@ coverage_test_packages:
- name: com.unity.ml-agents
assembly: Unity.ML-Agents
minCoveragePct: 72
- - name: com.unity.ml-agents.extensions
- assembly: Unity.ML-Agents.Extensions*
- minCoveragePct: 75
diff --git a/.yamato/standalone-build-test.yml b/.yamato/standalone-build-test.yml
index e56ab1d3f3..1c4c78fc53 100644
--- a/.yamato/standalone-build-test.yml
+++ b/.yamato/standalone-build-test.yml
@@ -30,7 +30,6 @@ test_linux_standalone_{{ editor.version }}_{{ editor.extra_test }}:
pull_request.target match "release.+") AND
NOT pull_request.draft AND
(pull_request.changes.any match "com.unity.ml-agents/**" OR
- pull_request.changes.any match "com.unity.ml-agents.extensions/**" OR
pull_request.changes.any match ".yamato/standalone-build-test.yml") AND
NOT pull_request.changes.all match "**/*.md"
artifacts:
diff --git a/.yamato/training-int-tests.yml b/.yamato/training-int-tests.yml
index 321800d3ad..35161cdef6 100644
--- a/.yamato/training-int-tests.yml
+++ b/.yamato/training-int-tests.yml
@@ -25,7 +25,6 @@ test_linux_training_int_{{ editor.version }}_{{ editor.extra_test }}:
pull_request.target match "release.+") AND
NOT pull_request.draft AND
(pull_request.changes.any match "com.unity.ml-agents/**" OR
- pull_request.changes.any match "com.unity.ml-agents.extensions/**" OR
pull_request.changes.any match "Project/**" OR
pull_request.changes.any match "ml-agents/**" OR
pull_request.changes.any match "ml-agents-envs/**" OR
diff --git a/DevProject/Packages/manifest.json b/DevProject/Packages/manifest.json
index 767534ce50..eed5e2ce77 100644
--- a/DevProject/Packages/manifest.json
+++ b/DevProject/Packages/manifest.json
@@ -4,7 +4,6 @@
"com.unity.coding": "0.1.0-preview.13",
"com.unity.inputsystem": "1.13.0",
"com.unity.ml-agents": "file:../../com.unity.ml-agents",
- "com.unity.ml-agents.extensions": "file:../../com.unity.ml-agents.extensions",
"com.unity.multiplayer.center": "1.0.0",
"com.unity.package-manager-doctools": "3.0.0-preview",
"com.unity.package-validation-suite": "0.59.0-preview",
@@ -22,7 +21,6 @@
"registry": "https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-candidates",
"testables": [
"com.unity.ml-agents",
- "com.unity.ml-agents.extensions",
"com.unity.inputsystem"
]
}
diff --git a/DevProject/Packages/packages-lock.json b/DevProject/Packages/packages-lock.json
index 682353c648..39095c0939 100644
--- a/DevProject/Packages/packages-lock.json
+++ b/DevProject/Packages/packages-lock.json
@@ -85,15 +85,6 @@
"com.unity.modules.physics": "1.0.0"
}
},
- "com.unity.ml-agents.extensions": {
- "version": "file:../../com.unity.ml-agents.extensions",
- "depth": 0,
- "source": "local",
- "dependencies": {
- "com.unity.ml-agents": "3.0.0",
- "com.unity.modules.physics": "1.0.0"
- }
- },
"com.unity.multiplayer.center": {
"version": "1.0.0",
"depth": 0,
diff --git a/Project/Assets/ML-Agents/Examples/PushBlockWithInput/Scripts/PushBlockWithInputPlayerController.cs b/Project/Assets/ML-Agents/Examples/PushBlockWithInput/Scripts/PushBlockWithInputPlayerController.cs
index 99637685cf..9a98a849c5 100644
--- a/Project/Assets/ML-Agents/Examples/PushBlockWithInput/Scripts/PushBlockWithInputPlayerController.cs
+++ b/Project/Assets/ML-Agents/Examples/PushBlockWithInput/Scripts/PushBlockWithInputPlayerController.cs
@@ -1,4 +1,4 @@
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using UnityEngine;
using UnityEngine.InputSystem;
diff --git a/Project/Packages/manifest.json b/Project/Packages/manifest.json
index 27de52ed88..30298955dd 100644
--- a/Project/Packages/manifest.json
+++ b/Project/Packages/manifest.json
@@ -5,7 +5,6 @@
"com.unity.ide.rider": "3.0.31",
"com.unity.inputsystem": "1.13.0",
"com.unity.ml-agents": "file:../../com.unity.ml-agents",
- "com.unity.ml-agents.extensions": "file:../../com.unity.ml-agents.extensions",
"com.unity.multiplayer.center": "1.0.0",
"com.unity.nuget.newtonsoft-json": "3.2.1",
"com.unity.recorder": "5.1.2",
@@ -21,7 +20,6 @@
},
"testables": [
"com.unity.ml-agents",
- "com.unity.ml-agents.extensions",
"com.unity.inputsystem"
]
}
diff --git a/Project/Packages/packages-lock.json b/Project/Packages/packages-lock.json
index 05c7777a63..80e18ad625 100644
--- a/Project/Packages/packages-lock.json
+++ b/Project/Packages/packages-lock.json
@@ -111,15 +111,6 @@
"com.unity.modules.physics": "1.0.0"
}
},
- "com.unity.ml-agents.extensions": {
- "version": "file:../../com.unity.ml-agents.extensions",
- "depth": 0,
- "source": "local",
- "dependencies": {
- "com.unity.ml-agents": "3.0.0",
- "com.unity.modules.physics": "1.0.0"
- }
- },
"com.unity.multiplayer.center": {
"version": "1.0.0",
"depth": 0,
diff --git a/Project/ProjectSettings/SceneTemplateSettings.json b/Project/ProjectSettings/SceneTemplateSettings.json
index 5e97f8393e..874dd8d33f 100644
--- a/Project/ProjectSettings/SceneTemplateSettings.json
+++ b/Project/ProjectSettings/SceneTemplateSettings.json
@@ -61,6 +61,11 @@
"type": "UnityEngine.PhysicMaterial",
"defaultInstantiationMode": 0
},
+ {
+ "userAdded": false,
+ "type": "UnityEngine.PhysicsMaterial",
+ "defaultInstantiationMode": 0
+ },
{
"userAdded": false,
"type": "UnityEngine.PhysicsMaterial2D",
@@ -118,4 +123,4 @@
"defaultInstantiationMode": 1
},
"newSceneOverride": 0
-}
\ No newline at end of file
+}
diff --git a/com.unity.ml-agents.extensions/.gitignore b/com.unity.ml-agents.extensions/.gitignore
deleted file mode 100644
index 9f297351a8..0000000000
--- a/com.unity.ml-agents.extensions/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-artifacts/**
-build/**
-.build_script/**
-node_modules/**
-.DS_Store
-.npmrc
-!Documentation~
-!.Documentation
-npm-debug.log
-build.sh.meta
-build.bat.meta
-.idea/
-
-# API Scraper output
-*.api
-*.api.meta
diff --git a/com.unity.ml-agents.extensions/.npmignore b/com.unity.ml-agents.extensions/.npmignore
deleted file mode 100644
index 696d110ce9..0000000000
--- a/com.unity.ml-agents.extensions/.npmignore
+++ /dev/null
@@ -1,19 +0,0 @@
-artifacts/**
-build/**
-.build_script/**
-node_modules/**
-Documentation/ApiDocs/**
-Documentation~/ApiDocs/**
-.DS_Store
-.npmrc
-.npmignore
-.gitignore
-CONTRIBUTING.md
-CONTRIBUTING.md.meta
-QAReport.md
-QAReport.md.meta
-.gitlab-ci.yml
-build.sh
-build.sh.meta
-build.bat
-build.bat.meta
diff --git a/com.unity.ml-agents.extensions/CHANGELOG.md b/com.unity.ml-agents.extensions/CHANGELOG.md
deleted file mode 100644
index cdff153bbe..0000000000
--- a/com.unity.ml-agents.extensions/CHANGELOG.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Changelog
-This changelog isn't used; please add to the `com.unity.ml-agents` changelog instead.
-
-## [Unreleased]
-## [0.6.1-preview] - 2022-11-21
- * Initial version
diff --git a/com.unity.ml-agents.extensions/CHANGELOG.md.meta b/com.unity.ml-agents.extensions/CHANGELOG.md.meta
deleted file mode 100644
index 222c3d6869..0000000000
--- a/com.unity.ml-agents.extensions/CHANGELOG.md.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: cb3bf154cb17b41fca51ce7b73ef4d1b
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Documentation~/CustomGridSensors.md b/com.unity.ml-agents.extensions/Documentation~/CustomGridSensors.md
deleted file mode 100644
index c0244dc186..0000000000
--- a/com.unity.ml-agents.extensions/Documentation~/CustomGridSensors.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Extending Grid Sensors
-
-## Overview
-Grid Sensor provides a 2D observation that detects objects around an agent from a top-down view. Compared to RayCasts, it receives a full observation in a grid area without gaps, and the detection is not blocked by objects around the agents. This gives a more granular view while requiring a higher usage of compute resources.
-
-One extra feature with Grid Sensors is that you can derive from the Grid Sensor base class to collect custom data besides the object tags, to include custom attributes as observations. This allows more flexibility for the use of GridSensor. This doc will elaborate how to create custom grid-based sensor class, and the sensors implementations provided in ml-agents package.
-
-## Customized Grid Sensor
-To create a custom grid sensor, you'll need to derive from two classes: `GridSensorBase` and `GridSensorComponent`.
-
-### Deriving from `GridSensorBase`
-This is the implementation of your sensor. This defines how your sensor process detected colliders,
-what the data looks like, and how the observations are constructed from the detected objects.
-Consider overriding the following methods depending on your use case:
-* `protected virtual int GetCellObservationSize()`: Return the observation size per cell. Default to `1`.
-* `protected virtual void GetObjectData(GameObject detectedObject, int tagIndex, float[] dataBuffer)`: Constructs observations from the detected object. The input provides the detected GameObject and the index of its tag (0-indexed). The observations should be written to the given `dataBuffer` and the buffer size is defined in `GetCellObservationSize()`. This data will be gathered from each cell and sent to the trainer as observation.
-* `protected virtual bool IsDataNormalized()`: Return whether the observation is normalized to 0~1. This affects whether you're able to use compressed observations as compressed data only supports normalized data. Return `true` if all the values written in `GetObjectData` are within the range of (0, 1), otherwise return `false`. Default to `false`.
-
- There might be cases when your data is not in the range of (0, 1) but you still wish to use compressed data to speed up training. If your data is naturally bounded within a range, normalize your data first to the possible range and fill the buffer with normalized data. For example, since the angle of rotation is bounded within `0 ~ 360`, record an angle `x` as `x/360` instead of `x`. If your data value is not bounded (position, velocity, etc.), consider setting a reasonable min/max value and use that to normalize your data.
-* `protected internal virtual ProcessCollidersMethod GetProcessCollidersMethod()`: Return the method to process colliders detected in a cell. This defines the sensor behavior when multiple objects with detectable tags are detected within a cell.
-Currently two methods are provided:
- * `ProcessCollidersMethod.ProcessClosestColliders` (Default): Process the closest collider to the agent. In this case each cell's data is represented by one object.
- * `ProcessCollidersMethod.ProcessAllColliders`: Process all detected colliders. This is useful when the data from each cell is additive, for instance, the count of detected objects in a cell. When using this option, the input `dataBuffer` in `GetObjectData()` will contain processed data from other colliders detected in the cell. You'll more likely want to add/subtract values from the buffer instead of overwrite it completely.
-
-
-### Deriving from `GridSensorComponent`
-To create your sensor, you need to override the sensor component and add your sensor to the creation.
-Specifically, you need to override `GetGridSensors()` and return an array of grid sensors you want to use in the component.
-It can be used to create multiple different customized grid sensors, or you can also include the ones provided in our package (listed in the next section).
-
-Example:
-```
-public class CustomGridSensorComponent : GridSensorComponent
-{
- protected override GridSensorBase[] GetGridSensors()
- {
- return new GridSensorBase[] { new CustomGridSensor(...)};
- }
-}
-```
-
-## Grid Sensor Types
-Here we list out two types of grid sensor we provide in our package: `OneHotGridSensor` and `CountingGridSensor`.
-Their implementations are also a good reference for making you own ones.
-
-### OneHotGridSensor (provided in `com.unity.ml-agents`)
-This is the default sensor used by `GridSensorComponent`. It detects objects with detectable tags and the observation is the one-hot representation of the detected tag index.
-
-The implementation of the sensor is defined as following:
-* `GetCellObservationSize()`: `detectableTags.Length`
-* `IsDataNormalized()`: `true`
-* `ProcessCollidersMethod()`: `ProcessCollidersMethod.ProcessClosestColliders`
-* `GetObjectData()`:
-
-```
-protected override void GetObjectData(GameObject detectedObject, int tagIndex, float[] dataBuffer)
-{
- dataBuffer[tagIndex] = 1;
-}
-```
-
-### CountingGridSensor (provided in `com.unity.ml-agents.extensions`)
-This is an example of using all colliders detected in a cell. It counts the number of objects detected for each detectable tag. The sensor cannot be used with data compression.
-
-The implementation of the sensor is defined as following:
-* `GetCellObservationSize()`: `detectableTags.Length`
-* `IsDataNormalized()`: `false`
-* `ProcessCollidersMethod()`: `ProcessCollidersMethod.ProcessAllColliders`
-* `GetObjectData()`:
-
-```
-protected override void GetObjectData(GameObject detectedObject, int tagIndex, float[] dataBuffer)
-{
- dataBuffer[tagIndex] += 1;
-}
-```
diff --git a/com.unity.ml-agents.extensions/Documentation~/InputActuatorComponent.md b/com.unity.ml-agents.extensions/Documentation~/InputActuatorComponent.md
deleted file mode 100644
index b72fb3fd8c..0000000000
--- a/com.unity.ml-agents.extensions/Documentation~/InputActuatorComponent.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# Integration of the Input System Package with ML-Agents
-
-## Overview
-One area we are always trying to improve is getting developers up and running with ML-Agents. With this in mind,
-we have implemented an `InputActuatorComponent`. This component integrates with the
-[Input System Package](https://docs.unity3d.com/Packages/com.unity.inputsystem@1.1/manual/QuickStartGuide.html)
-to set up an action space for your `Agent` based on an `InputActionAsset` that is referenced by the
-`IInputActionAssetProvider` interface, or the `PlayerInput` component that may be living on your player controlled
-`Agent`. This means that if you have code outside of your agent that handles input, you will not need to implement
-the Heuristic function in agent as well. The `InputActuatorComponent` will handle this for you. You can now train and
-run inference on `Agents` with an action space defined by an `InputActionAsset`.
-
-This implementation includes:
-
-* C# `InputActuatorComponent` you can attach to your Agent.
-* Implement the `IInputActionAssetProvider` in the `Componenet` where you handle player input.
-* An example environment where the input handling code is not in the Heuristic function of the Agent subclass.
-
-### Feedback
-We have only implemented a small subset of `InputControl` types that we thought would cover a large portion of what
-most developers would use. Please let us know if you want more control types implemented by posting in the [ML-Agents
-forum.](https://forum.unity.com/forums/ml-agents.453/)
-
-We would also like your feedback on the workflow of integrating this into your games. If you run
-into workflow issues please let us know in the ML-Agents forums, or if you've discovered a bug,
-please file a bug on our GitHub page.
-
-## Getting started
-The C# code for the `InputActuatorComponent` exists inside of the extensions package (com.unity.ml-agents.extensions). A good first step would be to familiarize with the extensions package by reading the document [here](com.unity.ml-agents.extensions.md). The second step would be to take a look at how we have implemented the C# code in the example Input Integration scene (located under ML-Agents-Input-Example/Assets/ML-Agents/Examples/PushBlock/). Once you have some familiarity, then the next step would be to add the InputActuatorComponent to your player Agent. The example we have implemented uses C# Events to send information from the Input System.
-
-Additionally, see below for additional technical specifications on the C# code for the InputActuatorComponent.
-
-## Technical specifications for the InputActuatorComponent
-
-### `IInputActionsAssetProvider` Interface
-The `InputActuatorComponent` searches for a `Component` that implements
-`IInputActionAssetProvider` on the `GameObject` they both are attached to. It is important to note
-that if multiple `Components` on your `GameObject` need to access an `InputActionAsset` to handle events,
-they will need to share the same instance of the `InputActionAsset` that is returned from the
-`IInputActionAssetProvider`.
-
-### `InputActuatorComponent` class
-The `InputActuatorComponent` is the bridge between ML-Agents and the Input System.. It allows ML-Agents to
-* create an `ActionSpec` for your Agent based on an `InputActionAsset` that comes from an
-`IInputActionAssetProvider`.
-* send simulated input from a training process or a neural network
-* let developers keep their input handling code in one place
-
-This is accomplished by adding the `InputActuatorComponenet` to an Agent which already has the PlayerInput component attached.
-
-### Setting up a scene using the `InputActuatorComponent`
-1. Add the `com.unity.inputsystem` version 1.1.0-preview.3 or later to your project via the Package Manager window.
-2. If you have already setup an InputActionAsset skip to Step 3, otherwise follow these sub steps:
- 1. Create an InputActionAsset to allow your Agent to be controlled by the Input System.
- 2. Handle the events from the Input System where you normally would (i.e. a script external to your Agent class).
-3. Add the InputSystemActuatorComponent to the GameObject that has the `PlayerInput` and `Agent` components attached.
-
diff --git a/com.unity.ml-agents.extensions/Documentation~/com.unity.ml-agents.extensions.md b/com.unity.ml-agents.extensions/Documentation~/com.unity.ml-agents.extensions.md
deleted file mode 100644
index 9421ae1484..0000000000
--- a/com.unity.ml-agents.extensions/Documentation~/com.unity.ml-agents.extensions.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# About ML-Agents Extensions package (`com.unity.ml-agents.extensions`)
-
-The Unity ML-Agents Extensions package contains optional add-ons to the C# SDK for the
-[Unity ML-Agents Toolkit](https://github.com/Unity-Technologies/ml-agents).
-
-These extensions are all considered experimental, and their API or behavior
-may change between versions.
-
-
-## Package contents
-
-The following table describes the package folder structure:
-
-| **Location** | **Description** |
-| ---------------- | ---------------------------------------------------------------------- |
-| _Documentation~_ | Contains the documentation for the Unity package. |
-| _Editor_ | Contains utilities for Editor windows and drawers. |
-| _Runtime_ | Contains core C# APIs for integrating ML-Agents into your Unity scene. |
-| _Tests_ | Contains the unit tests for the package. |
-
-The Runtime directory currently contains these features:
- * Physics-based sensors
- * [Input System Package Integration](InputActuatorComponent.md)
- * [Custom Grid-based Sensors](CustomGridSensors.md)
-
-## Installation
-The ML-Agents Extensions package is not currently available in the Package Manager. There are two
-recommended ways to install the package:
-
-### Local Installation
-[Clone the repository](https://github.com/Unity-Technologies/ml-agents/tree/release_22_docs/docs/Installation.md#clone-the-ml-agents-toolkit-repository-optional) and follow the
-[Local Installation for Development](https://github.com/Unity-Technologies/ml-agents/tree/release_22_docs/docs/Installation.md#advanced-local-installation-for-development-1)
-directions (substituting `com.unity.ml-agents.extensions` for the package name).
-
-### Github via Package Manager
-In Unity 2019.4 or later, open the Package Manager, hit the "+" button, and select "Add package from git URL".
-
-
-
-In the dialog that appears, enter
- ```
-git+https://github.com/Unity-Technologies/ml-agents.git?path=com.unity.ml-agents.extensions#release_22
-```
-
-You can also edit your project's `manifest.json` directly and add the following line to the `dependencies`
-section:
-```
-"com.unity.ml-agents.extensions": "git+https://github.com/Unity-Technologies/ml-agents.git?path=com.unity.ml-agents.extensions#release_22",
-```
-See [Git dependencies](https://docs.unity3d.com/Manual/upm-git.html#subfolder) for more information. Note that this
-may take several minutes to resolve the packages the first time that you add it.
-
-
-## Requirements
-
-This version of the Unity ML-Agents package is compatible with the following
-versions of the Unity Editor:
-
-- 2019.4 and later
-
-If using the `InputActuatorComponent`
-- install the `com.unity.inputsystem` package version `1.1.0-preview.3` or later.
-
-## Known Limitations
-- For the `InputActuatorComponent`
- - Limited implementation of `InputControls`
- - No way to customize the action space of the `InputActuatorComponent`
-
-## Need Help?
-The main [README](https://github.com/Unity-Technologies/ml-agents/tree/release_22_docs/README.md) contains links for contacting the team or getting support.
diff --git a/com.unity.ml-agents.extensions/Editor/EditorExample.cs b/com.unity.ml-agents.extensions/Editor/EditorExample.cs
deleted file mode 100644
index e5aaef1724..0000000000
--- a/com.unity.ml-agents.extensions/Editor/EditorExample.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-namespace Unity.MLAgents.Extensions.Editor
-{
-}
diff --git a/com.unity.ml-agents.extensions/Editor/EditorExample.cs.meta b/com.unity.ml-agents.extensions/Editor/EditorExample.cs.meta
deleted file mode 100644
index 5b9a890fa9..0000000000
--- a/com.unity.ml-agents.extensions/Editor/EditorExample.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 4d278d118acf74b1294c16f6a065b4ab
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Editor/Input/Unity.ML-Agents.Extensions.Editor.Input.asmdef.meta b/com.unity.ml-agents.extensions/Editor/Input/Unity.ML-Agents.Extensions.Editor.Input.asmdef.meta
deleted file mode 100644
index 0d252ad175..0000000000
--- a/com.unity.ml-agents.extensions/Editor/Input/Unity.ML-Agents.Extensions.Editor.Input.asmdef.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 4851f2d02f9f1423a8593f60b1a9cd7e
-AssemblyDefinitionImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Editor/Unity.ML-Agents.Extensions.Editor.asmdef b/com.unity.ml-agents.extensions/Editor/Unity.ML-Agents.Extensions.Editor.asmdef
deleted file mode 100644
index 300a1530e4..0000000000
--- a/com.unity.ml-agents.extensions/Editor/Unity.ML-Agents.Extensions.Editor.asmdef
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "name": "Unity.ML-Agents.Extensions.Editor",
- "references": [
- "Unity.ML-Agents.Extensions",
- "Unity.ML-Agents",
- "Unity.ML-Agents.Editor"
- ],
- "includePlatforms": [
- "Editor"
- ],
- "excludePlatforms": []
-}
diff --git a/com.unity.ml-agents.extensions/LICENSE.md b/com.unity.ml-agents.extensions/LICENSE.md
deleted file mode 100644
index 00559059c0..0000000000
--- a/com.unity.ml-agents.extensions/LICENSE.md
+++ /dev/null
@@ -1,202 +0,0 @@
-Copyright 2017-2024 Unity Technologies
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
diff --git a/com.unity.ml-agents.extensions/LICENSE.md.meta b/com.unity.ml-agents.extensions/LICENSE.md.meta
deleted file mode 100644
index a909dc934e..0000000000
--- a/com.unity.ml-agents.extensions/LICENSE.md.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 1f518b76bbd7b4806b0653aac1143b42
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/README.md b/com.unity.ml-agents.extensions/README.md
deleted file mode 100644
index ec1b5448ce..0000000000
--- a/com.unity.ml-agents.extensions/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# ML-Agents Extensions
-
-See the [package documentation](Documentation~/com.unity.ml-agents.extensions.md) for more information
diff --git a/com.unity.ml-agents.extensions/README.md.meta b/com.unity.ml-agents.extensions/README.md.meta
deleted file mode 100644
index 62684ffce0..0000000000
--- a/com.unity.ml-agents.extensions/README.md.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 86620336dab3b4d3783b0b3114496654
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Runtime.meta b/com.unity.ml-agents.extensions/Runtime.meta
deleted file mode 100644
index 58017d2891..0000000000
--- a/com.unity.ml-agents.extensions/Runtime.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 35f52f986759c491cb377b1f3841c566
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Runtime/AssemblyInfo.cs b/com.unity.ml-agents.extensions/Runtime/AssemblyInfo.cs
deleted file mode 100644
index c1bdcc8d5f..0000000000
--- a/com.unity.ml-agents.extensions/Runtime/AssemblyInfo.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-using System.Runtime.CompilerServices;
-
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions.EditorTests")]
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions.Editor")]
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions.Tests")]
diff --git a/com.unity.ml-agents.extensions/Runtime/AssemblyInfo.cs.meta b/com.unity.ml-agents.extensions/Runtime/AssemblyInfo.cs.meta
deleted file mode 100644
index 21cec76829..0000000000
--- a/com.unity.ml-agents.extensions/Runtime/AssemblyInfo.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 48c8790647c3345e19c57d6c21065112
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Runtime/Input.meta b/com.unity.ml-agents.extensions/Runtime/Input.meta
deleted file mode 100644
index 6d9bda962b..0000000000
--- a/com.unity.ml-agents.extensions/Runtime/Input.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 1694e881b9ec420ba1c201f0612392d6
-timeCreated: 1610754907
\ No newline at end of file
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/AssemblyInfo.cs b/com.unity.ml-agents.extensions/Runtime/Input/AssemblyInfo.cs
deleted file mode 100644
index ffd66a0ad7..0000000000
--- a/com.unity.ml-agents.extensions/Runtime/Input/AssemblyInfo.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-using System.Runtime.CompilerServices;
-
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions.Input.Tests.Runtime")]
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors.meta b/com.unity.ml-agents.extensions/Runtime/Sensors.meta
deleted file mode 100644
index 8a56d01593..0000000000
--- a/com.unity.ml-agents.extensions/Runtime/Sensors.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2a66e31170bb04777b9ade862995a624
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Runtime/Unity.ML-Agents.Extensions.asmdef b/com.unity.ml-agents.extensions/Runtime/Unity.ML-Agents.Extensions.asmdef
deleted file mode 100644
index 4bd4bf5bab..0000000000
--- a/com.unity.ml-agents.extensions/Runtime/Unity.ML-Agents.Extensions.asmdef
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "Unity.ML-Agents.Extensions",
- "references": [
- "Unity.InferenceEngine",
- "Unity.ML-Agents",
- "Unity.ML-Agents.Extensions.Input"
- ]
-}
diff --git a/com.unity.ml-agents.extensions/Runtime/Unity.ML-Agents.Extensions.asmdef.meta b/com.unity.ml-agents.extensions/Runtime/Unity.ML-Agents.Extensions.asmdef.meta
deleted file mode 100644
index 71b01c55fc..0000000000
--- a/com.unity.ml-agents.extensions/Runtime/Unity.ML-Agents.Extensions.asmdef.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 0234213bbb9574f66bb4d93920cc6bb7
-AssemblyDefinitionImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Tests.meta b/com.unity.ml-agents.extensions/Tests.meta
deleted file mode 100644
index 983c35226f..0000000000
--- a/com.unity.ml-agents.extensions/Tests.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 8b9992bc4a2804deda293d0d28bbf5e0
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Tests/.tests.json b/com.unity.ml-agents.extensions/Tests/.tests.json
deleted file mode 100644
index 327abb29e5..0000000000
--- a/com.unity.ml-agents.extensions/Tests/.tests.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "createSeparatePackage": false
-}
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime.meta b/com.unity.ml-agents.extensions/Tests/Runtime.meta
deleted file mode 100644
index 39b875009d..0000000000
--- a/com.unity.ml-agents.extensions/Tests/Runtime.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 302e80f9aed2d40a3899643525e5b706
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Unity.ML-Agents.Extensions.Input.Tests.Runtime.asmdef.meta b/com.unity.ml-agents.extensions/Tests/Runtime/Input/Unity.ML-Agents.Extensions.Input.Tests.Runtime.asmdef.meta
deleted file mode 100644
index 874e8ded0e..0000000000
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Unity.ML-Agents.Extensions.Input.Tests.Runtime.asmdef.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: ca257bdcba9544f71baf0c291c36b05a
-AssemblyDefinitionImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors.meta b/com.unity.ml-agents.extensions/Tests/Runtime/Sensors.meta
deleted file mode 100644
index b3ae6c4f70..0000000000
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 88803e617d2d429aa4838bdaaeb64bac
-timeCreated: 1616140923
\ No newline at end of file
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/AssemblyInfo.cs b/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/AssemblyInfo.cs
deleted file mode 100644
index 0cd831e21f..0000000000
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/AssemblyInfo.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-using System.Runtime.CompilerServices;
-
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions.EditorTests")]
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Unity.ML-Agents.Extensions.Tests.asmdef b/com.unity.ml-agents.extensions/Tests/Runtime/Unity.ML-Agents.Extensions.Tests.asmdef
deleted file mode 100644
index 14da330bec..0000000000
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Unity.ML-Agents.Extensions.Tests.asmdef
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "name": "Unity.ML-Agents.Extensions.Tests",
- "references": [
- "Unity.ML-Agents.Extensions",
- "Unity.ML-Agents"
- ],
- "optionalUnityReferences": [
- "TestAssemblies"
- ],
- "includePlatforms": [],
- "excludePlatforms": []
-}
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Unity.ML-Agents.Extensions.Tests.asmdef.meta b/com.unity.ml-agents.extensions/Tests/Runtime/Unity.ML-Agents.Extensions.Tests.asmdef.meta
deleted file mode 100644
index 05ab872e43..0000000000
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Unity.ML-Agents.Extensions.Tests.asmdef.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 30cbc899aa9234b7c93bfcba45275b9c
-AssemblyDefinitionImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents.extensions/package.json b/com.unity.ml-agents.extensions/package.json
deleted file mode 100644
index c315091c26..0000000000
--- a/com.unity.ml-agents.extensions/package.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": "com.unity.ml-agents.extensions",
- "displayName": "ML Agents Extensions",
- "version": "0.6.1-preview",
- "unity": "6000.0",
- "description": "A source-only package for new features based on ML-Agents",
- "dependencies": {
- "com.unity.ml-agents": "3.0.0",
- "com.unity.modules.physics": "1.0.0"
- }
-}
diff --git a/com.unity.ml-agents.extensions/package.json.meta b/com.unity.ml-agents.extensions/package.json.meta
deleted file mode 100644
index 375a7c7db0..0000000000
--- a/com.unity.ml-agents.extensions/package.json.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: a12a065df9b6f44d0b9a8e85d08d1cef
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/com.unity.ml-agents/CHANGELOG.md b/com.unity.ml-agents/CHANGELOG.md
index 876608252c..38e58ab2c6 100755
--- a/com.unity.ml-agents/CHANGELOG.md
+++ b/com.unity.ml-agents/CHANGELOG.md
@@ -11,6 +11,7 @@ and this project adheres to
#### com.unity.ml-agents / com.unity.ml-agents.extensions (C#)
- Upgraded to Inference Engine 2.2.1 (#6212)
- The minimum supported Unity version was updated to 6000.0. (#6207)
+- Merge the extension package com.unity.ml-agents.extensions to the main package com.unity.ml-agents. (#6227)
### Minor Changes
#### ml-agents / ml-agents-envs
diff --git a/com.unity.ml-agents/Documentation~/com.unity.ml-agents.md b/com.unity.ml-agents/Documentation~/com.unity.ml-agents.md
index 60268878b5..959f5edb75 100644
--- a/com.unity.ml-agents/Documentation~/com.unity.ml-agents.md
+++ b/com.unity.ml-agents/Documentation~/com.unity.ml-agents.md
@@ -13,8 +13,6 @@ The package allows you to convert any Unity scene into a learning environment an
## Special Notes
Note that the ML-Agents package does not contain the machine learning algorithms for training behaviors. The ML-Agents package only supports instrumenting a Unity scene, setting it up for training, and then embedding the trained model back into your Unity scene. The machine learning algorithms that orchestrate training are part of the companion [python package].
-Note that we also provide an ML-Agents Extensions package (`com.unity.ml-agents.extensions`) that contains early/experimental features that you may find useful. This package is only available from the [ML-Agents GitHub repo].
-
## Package contents
@@ -42,6 +40,115 @@ To add the ML-Agents package to a Unity project:
To install the companion Python package to enable training behaviors, follow the [installation instructions] on our [GitHub repository].
+## Advanced Features
+
+### Custom Grid Sensors
+
+Grid Sensor provides a 2D observation that detects objects around an agent from a top-down view. Compared to RayCasts, it receives a full observation in a grid area without gaps, and the detection is not blocked by objects around the agents. This gives a more granular view while requiring a higher usage of compute resources.
+
+One extra feature with Grid Sensors is that you can derive from the Grid Sensor base class to collect custom data besides the object tags, to include custom attributes as observations. This allows more flexibility for the use of GridSensor.
+
+#### Creating Custom Grid Sensors
+To create a custom grid sensor, you'll need to derive from two classes: `GridSensorBase` and `GridSensorComponent`.
+
+##### Deriving from `GridSensorBase`
+This is the implementation of your sensor. This defines how your sensor process detected colliders,
+what the data looks like, and how the observations are constructed from the detected objects.
+Consider overriding the following methods depending on your use case:
+* `protected virtual int GetCellObservationSize()`: Return the observation size per cell. Default to `1`.
+* `protected virtual void GetObjectData(GameObject detectedObject, int tagIndex, float[] dataBuffer)`: Constructs observations from the detected object. The input provides the detected GameObject and the index of its tag (0-indexed). The observations should be written to the given `dataBuffer` and the buffer size is defined in `GetCellObservationSize()`. This data will be gathered from each cell and sent to the trainer as observation.
+* `protected virtual bool IsDataNormalized()`: Return whether the observation is normalized to 0~1. This affects whether you're able to use compressed observations as compressed data only supports normalized data. Return `true` if all the values written in `GetObjectData` are within the range of (0, 1), otherwise return `false`. Default to `false`.
+
+ There might be cases when your data is not in the range of (0, 1) but you still wish to use compressed data to speed up training. If your data is naturally bounded within a range, normalize your data first to the possible range and fill the buffer with normalized data. For example, since the angle of rotation is bounded within `0 ~ 360`, record an angle `x` as `x/360` instead of `x`. If your data value is not bounded (position, velocity, etc.), consider setting a reasonable min/max value and use that to normalize your data.
+* `protected internal virtual ProcessCollidersMethod GetProcessCollidersMethod()`: Return the method to process colliders detected in a cell. This defines the sensor behavior when multiple objects with detectable tags are detected within a cell.
+Currently two methods are provided:
+ * `ProcessCollidersMethod.ProcessClosestColliders` (Default): Process the closest collider to the agent. In this case each cell's data is represented by one object.
+ * `ProcessCollidersMethod.ProcessAllColliders`: Process all detected colliders. This is useful when the data from each cell is additive, for instance, the count of detected objects in a cell. When using this option, the input `dataBuffer` in `GetObjectData()` will contain processed data from other colliders detected in the cell. You'll more likely want to add/subtract values from the buffer instead of overwrite it completely.
+
+##### Deriving from `GridSensorComponent`
+To create your sensor, you need to override the sensor component and add your sensor to the creation.
+Specifically, you need to override `GetGridSensors()` and return an array of grid sensors you want to use in the component.
+It can be used to create multiple different customized grid sensors, or you can also include the ones provided in our package (listed in the next section).
+
+Example:
+```csharp
+public class CustomGridSensorComponent : GridSensorComponent
+{
+ protected override GridSensorBase[] GetGridSensors()
+ {
+ return new GridSensorBase[] { new CustomGridSensor(...)};
+ }
+}
+```
+
+#### Grid Sensor Types
+Here we list out two types of grid sensor provided in the package: `OneHotGridSensor` and `CountingGridSensor`.
+Their implementations are also a good reference for making you own ones.
+
+##### OneHotGridSensor
+This is the default sensor used by `GridSensorComponent`. It detects objects with detectable tags and the observation is the one-hot representation of the detected tag index.
+
+The implementation of the sensor is defined as following:
+* `GetCellObservationSize()`: `detectableTags.Length`
+* `IsDataNormalized()`: `true`
+* `ProcessCollidersMethod()`: `ProcessCollidersMethod.ProcessClosestColliders`
+* `GetObjectData()`:
+
+```csharp
+protected override void GetObjectData(GameObject detectedObject, int tagIndex, float[] dataBuffer)
+{
+ dataBuffer[tagIndex] = 1;
+}
+```
+
+##### CountingGridSensor
+This is an example of using all colliders detected in a cell. It counts the number of objects detected for each detectable tag. The sensor cannot be used with data compression.
+
+The implementation of the sensor is defined as following:
+* `GetCellObservationSize()`: `detectableTags.Length`
+* `IsDataNormalized()`: `false`
+* `ProcessCollidersMethod()`: `ProcessCollidersMethod.ProcessAllColliders`
+* `GetObjectData()`:
+
+```csharp
+protected override void GetObjectData(GameObject detectedObject, int tagIndex, float[] dataBuffer)
+{
+ dataBuffer[tagIndex] += 1;
+}
+```
+
+### Input System Integration
+
+The ML-Agents package integrates with the [Input System Package](https://docs.unity3d.com/Packages/com.unity.inputsystem@1.1/manual/QuickStartGuide.html) through the `InputActuatorComponent`. This component sets up an action space for your `Agent` based on an `InputActionAsset` that is referenced by the `IInputActionAssetProvider` interface, or the `PlayerInput` component that may be living on your player controlled `Agent`. This means that if you have code outside of your agent that handles input, you will not need to implement the Heuristic function in agent as well. The `InputActuatorComponent` will handle this for you. You can now train and run inference on `Agents` with an action space defined by an `InputActionAsset`.
+
+Take a look at how we have implemented the C# code in the example Input Integration scene (located under Project/Assets/ML-Agents/Examples/PushBlockWithInput/). Once you have some familiarity, then the next step would be to add the InputActuatorComponent to your player Agent. The example we have implemented uses C# Events to send information from the Input System.
+
+#### Getting Started with Input System Integration
+1. Add the `com.unity.inputsystem` version 1.1.0-preview.3 or later to your project via the Package Manager window.
+2. If you have already setup an InputActionAsset skip to Step 3, otherwise follow these sub steps:
+ 1. Create an InputActionAsset to allow your Agent to be controlled by the Input System.
+ 2. Handle the events from the Input System where you normally would (i.e. a script external to your Agent class).
+3. Add the InputSystemActuatorComponent to the GameObject that has the `PlayerInput` and `Agent` components attached.
+
+Additionally, see below for additional technical specifications on the C# code for the InputActuatorComponent.
+#### Technical Specifications
+
+##### `IInputActionsAssetProvider` Interface
+The `InputActuatorComponent` searches for a `Component` that implements
+`IInputActionAssetProvider` on the `GameObject` they both are attached to. It is important to note
+that if multiple `Components` on your `GameObject` need to access an `InputActionAsset` to handle events,
+they will need to share the same instance of the `InputActionAsset` that is returned from the
+`IInputActionAssetProvider`.
+
+##### `InputActuatorComponent` Class
+The `InputActuatorComponent` is the bridge between ML-Agents and the Input System. It allows ML-Agents to:
+* create an `ActionSpec` for your Agent based on an `InputActionAsset` that comes from an
+`IInputActionAssetProvider`.
+* send simulated input from a training process or a neural network
+* let developers keep their input handling code in one place
+
+This is accomplished by adding the `InputActuatorComponent` to an Agent which already has the PlayerInput component attached.
+
## Known Limitations
### Training
@@ -65,6 +172,12 @@ Currently the speed of the game physics can only be increased to 100x real-time.
You can control the frequency of Academy stepping by calling `Academy.Instance.DisableAutomaticStepping()`, and then calling `Academy.Instance.EnvironmentStep()`.
+### Input System Integration
+
+ For the `InputActuatorComponent`
+ - Limited implementation of `InputControls`
+ - No way to customize the action space of the `InputActuatorComponent`
+
## Additional Resources
* [GitHub repository]
@@ -76,7 +189,6 @@ You can control the frequency of Academy stepping by calling `Academy.Instance.D
[installation instructions]: https://github.com/Unity-Technologies/ml-agents/blob/release_22_docs/docs/Installation.md
[Unity Inference Engine]: https://docs.unity3d.com/Packages/com.unity.ai.inference@2.2/manual/index.html
[python package]: https://github.com/Unity-Technologies/ml-agents
-[ML-Agents GitHub repo]: https://github.com/Unity-Technologies/ml-agents/blob/release_22_docs/com.unity.ml-agents.extensions
[GitHub repository]: https://github.com/Unity-Technologies/ml-agents
[Execution Order of Event Functions]: https://docs.unity3d.com/Manual/ExecutionOrder.html
[Unity Discussions]: https://discussions.unity.com/tag/ml-agents
diff --git a/com.unity.ml-agents.extensions/Documentation~/images/match3-moves.png b/com.unity.ml-agents/Documentation~/images/match3-moves.png
similarity index 100%
rename from com.unity.ml-agents.extensions/Documentation~/images/match3-moves.png
rename to com.unity.ml-agents/Documentation~/images/match3-moves.png
diff --git a/com.unity.ml-agents.extensions/Documentation~/images/match3.png b/com.unity.ml-agents/Documentation~/images/match3.png
similarity index 100%
rename from com.unity.ml-agents.extensions/Documentation~/images/match3.png
rename to com.unity.ml-agents/Documentation~/images/match3.png
diff --git a/com.unity.ml-agents.extensions/Documentation~/images/persp_ortho_proj.png b/com.unity.ml-agents/Documentation~/images/persp_ortho_proj.png
similarity index 100%
rename from com.unity.ml-agents.extensions/Documentation~/images/persp_ortho_proj.png
rename to com.unity.ml-agents/Documentation~/images/persp_ortho_proj.png
diff --git a/com.unity.ml-agents.extensions/Editor/Input.meta b/com.unity.ml-agents/Editor/Input.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Editor/Input.meta
rename to com.unity.ml-agents/Editor/Input.meta
diff --git a/com.unity.ml-agents.extensions/Editor/Input/InputActuatorComponentEditor.cs b/com.unity.ml-agents/Editor/Input/InputActuatorComponentEditor.cs
similarity index 82%
rename from com.unity.ml-agents.extensions/Editor/Input/InputActuatorComponentEditor.cs
rename to com.unity.ml-agents/Editor/Input/InputActuatorComponentEditor.cs
index f48f6481f5..f932dba9e7 100644
--- a/com.unity.ml-agents.extensions/Editor/Input/InputActuatorComponentEditor.cs
+++ b/com.unity.ml-agents/Editor/Input/InputActuatorComponentEditor.cs
@@ -1,10 +1,11 @@
#if MLA_INPUT_SYSTEM
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using UnityEditor;
-namespace Unity.MLAgents.Extensions.Editor.Input
+namespace Unity.MLAgents.Editor.Input
{
[CustomEditor(typeof(InputActuatorComponent))]
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Editor.Input")]
internal class InputActuatorComponentEditor : UnityEditor.Editor
{
const string k_ActionSpecName = "m_ActionSpec";
diff --git a/com.unity.ml-agents.extensions/Editor/Input/InputActuatorComponentEditor.cs.meta b/com.unity.ml-agents/Editor/Input/InputActuatorComponentEditor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Editor/Input/InputActuatorComponentEditor.cs.meta
rename to com.unity.ml-agents/Editor/Input/InputActuatorComponentEditor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Editor/Input/Unity.ML-Agents.Extensions.Editor.Input.asmdef b/com.unity.ml-agents/Editor/Input/Unity.ML-Agents.Editor.Input.asmdef
similarity index 85%
rename from com.unity.ml-agents.extensions/Editor/Input/Unity.ML-Agents.Extensions.Editor.Input.asmdef
rename to com.unity.ml-agents/Editor/Input/Unity.ML-Agents.Editor.Input.asmdef
index 162bac2252..1b4d7852fa 100644
--- a/com.unity.ml-agents.extensions/Editor/Input/Unity.ML-Agents.Extensions.Editor.Input.asmdef
+++ b/com.unity.ml-agents/Editor/Input/Unity.ML-Agents.Editor.Input.asmdef
@@ -1,8 +1,8 @@
{
- "name": "Unity.ML-Agents.Extensions.Editor.Input",
+ "name": "Unity.ML-Agents.Editor.Input",
"references": [
"Unity.ML-Agents",
- "Unity.ML-Agents.Extensions.Input",
+ "Unity.ML-Agents.Input",
"Unity.ML-Agents.Editor",
"Unity.InputSystem"
],
diff --git a/com.unity.ml-agents/Editor/Input/Unity.ML-Agents.Editor.Input.asmdef.meta b/com.unity.ml-agents/Editor/Input/Unity.ML-Agents.Editor.Input.asmdef.meta
new file mode 100644
index 0000000000..4299cba31b
--- /dev/null
+++ b/com.unity.ml-agents/Editor/Input/Unity.ML-Agents.Editor.Input.asmdef.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c154d8d72b03465e94ab9e1f67907c59
+timeCreated: 1753389680
\ No newline at end of file
diff --git a/com.unity.ml-agents.extensions/Editor/RigidBodySensorComponentEditor.cs b/com.unity.ml-agents/Editor/RigidBodySensorComponentEditor.cs
similarity index 95%
rename from com.unity.ml-agents.extensions/Editor/RigidBodySensorComponentEditor.cs
rename to com.unity.ml-agents/Editor/RigidBodySensorComponentEditor.cs
index 632a2e99e9..22de91977e 100644
--- a/com.unity.ml-agents.extensions/Editor/RigidBodySensorComponentEditor.cs
+++ b/com.unity.ml-agents/Editor/RigidBodySensorComponentEditor.cs
@@ -1,11 +1,12 @@
using UnityEditor;
using Unity.MLAgents.Editor;
-using Unity.MLAgents.Extensions.Sensors;
+using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Editor
+namespace Unity.MLAgents.Editor
{
[CustomEditor(typeof(RigidBodySensorComponent))]
[CanEditMultipleObjects]
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Editor")]
internal class RigidBodySensorComponentEditor : UnityEditor.Editor
{
bool ShowHierarchy = true;
diff --git a/com.unity.ml-agents.extensions/Editor/RigidBodySensorComponentEditor.cs.meta b/com.unity.ml-agents/Editor/RigidBodySensorComponentEditor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Editor/RigidBodySensorComponentEditor.cs.meta
rename to com.unity.ml-agents/Editor/RigidBodySensorComponentEditor.cs.meta
diff --git a/com.unity.ml-agents/Runtime/Actuators/IBuiltInActuator.cs b/com.unity.ml-agents/Runtime/Actuators/IBuiltInActuator.cs
index 8b77672d17..2594b77689 100644
--- a/com.unity.ml-agents/Runtime/Actuators/IBuiltInActuator.cs
+++ b/com.unity.ml-agents/Runtime/Actuators/IBuiltInActuator.cs
@@ -24,12 +24,12 @@ public enum BuiltInActuatorType
VectorActuator = 2,
///
- /// Corresponds to the Match3Actuator in com.unity.ml-agents.extensions.
+ /// Corresponds to the Match3Actuator.
///
Match3Actuator = 3,
///
- /// Corresponds to the InputActionActuator in com.unity.ml-agents.extensions.
+ /// Corresponds to the InputActionActuator.
///
InputActionActuator = 4,
}
diff --git a/com.unity.ml-agents/Runtime/AssemblyInfo.cs b/com.unity.ml-agents/Runtime/AssemblyInfo.cs
index 2ef5ec62a1..0f19e37d7f 100644
--- a/com.unity.ml-agents/Runtime/AssemblyInfo.cs
+++ b/com.unity.ml-agents/Runtime/AssemblyInfo.cs
@@ -5,10 +5,9 @@
[assembly: InternalsVisibleTo("Unity.ML-Agents.Runtime.Sensor.Tests")]
[assembly: InternalsVisibleTo("Unity.ML-Agents.Runtime.Utils.Tests")]
[assembly: InternalsVisibleTo("Unity.ML-Agents.Runtime.Tests")]
+[assembly: InternalsVisibleTo("Unity.ML-Agents.Runtime.Input.Tests")]
+[assembly: InternalsVisibleTo("Unity.ML-Agents.Input")]
[assembly: InternalsVisibleTo("Unity.ML-Agents.Editor")]
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions")]
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions.Input")]
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions.Tests")]
[assembly: InternalsVisibleTo("Unity.ML-Agents.Pro")]
[assembly: InternalsVisibleTo("Unity.ML-Agents.Pro.Tests")]
[assembly: InternalsVisibleTo("MLAgentsExamples.Tests.Performance")]
diff --git a/com.unity.ml-agents.extensions/Editor.meta b/com.unity.ml-agents/Runtime/Input.meta
similarity index 77%
rename from com.unity.ml-agents.extensions/Editor.meta
rename to com.unity.ml-agents/Runtime/Input.meta
index 6748720006..2e063c20aa 100644
--- a/com.unity.ml-agents.extensions/Editor.meta
+++ b/com.unity.ml-agents/Runtime/Input.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 40d78a1c3c0ef4584a1816f66812de87
+guid: aa9a21b8ca96f45799fbb3fb618948e9
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors.meta b/com.unity.ml-agents/Runtime/Input/Adaptors.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors.meta
rename to com.unity.ml-agents/Runtime/Input/Adaptors.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs b/com.unity.ml-agents/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs
similarity index 94%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs
rename to com.unity.ml-agents/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs
index d16ad28a95..a3ba2206bb 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs
+++ b/com.unity.ml-agents/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs
@@ -4,12 +4,13 @@
using UnityEngine.InputSystem.Controls;
using UnityEngine.InputSystem.LowLevel;
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// Class that translates data between the a and
/// the ML-Agents object.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public class ButtonInputActionAdaptor : IRLActionInputAdaptor
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs.meta b/com.unity.ml-agents/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs.meta
rename to com.unity.ml-agents/Runtime/Input/Adaptors/ButtonInputActionAdaptor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs b/com.unity.ml-agents/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs
similarity index 92%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs
rename to com.unity.ml-agents/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs
index 3d42226eaa..d845850517 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs
+++ b/com.unity.ml-agents/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs
@@ -4,11 +4,12 @@
using UnityEngine.InputSystem.Controls;
using UnityEngine.InputSystem.LowLevel;
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// Translates data from a .
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public class DoubleInputActionAdaptor : IRLActionInputAdaptor
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs.meta b/com.unity.ml-agents/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs.meta
rename to com.unity.ml-agents/Runtime/Input/Adaptors/DoubleInputActionAdaptor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs b/com.unity.ml-agents/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs
similarity index 91%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs
rename to com.unity.ml-agents/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs
index 5de783d812..32b9158aeb 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs
+++ b/com.unity.ml-agents/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs
@@ -3,11 +3,12 @@
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.LowLevel;
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// Translates data from any control that extends from .
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public class FloatInputActionAdaptor : IRLActionInputAdaptor
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs.meta b/com.unity.ml-agents/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs.meta
rename to com.unity.ml-agents/Runtime/Input/Adaptors/FloatInputActionAdaptor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs b/com.unity.ml-agents/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs
similarity index 92%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs
rename to com.unity.ml-agents/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs
index 3bb9f98d57..75e60ea9d5 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs
+++ b/com.unity.ml-agents/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs
@@ -3,11 +3,12 @@
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.LowLevel;
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// Translates data from a .
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public class IntegerInputActionAdaptor : IRLActionInputAdaptor
{
// TODO need to figure out how we can infer the branch size from here.
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs.meta b/com.unity.ml-agents/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs.meta
rename to com.unity.ml-agents/Runtime/Input/Adaptors/IntegerInputActionAdaptor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs b/com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs
similarity index 93%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs
rename to com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs
index e46c5a9ef2..72a8e91fe5 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs
+++ b/com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs
@@ -4,11 +4,12 @@
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.LowLevel;
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// Translates data from any control that extends from .
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public class Vector2InputActionAdaptor : IRLActionInputAdaptor
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs.meta b/com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs.meta
rename to com.unity.ml-agents/Runtime/Input/Adaptors/Vector2InputActionAdaptor.cs.meta
diff --git a/com.unity.ml-agents/Runtime/Input/AssemblyInfo.cs b/com.unity.ml-agents/Runtime/Input/AssemblyInfo.cs
new file mode 100644
index 0000000000..311008db41
--- /dev/null
+++ b/com.unity.ml-agents/Runtime/Input/AssemblyInfo.cs
@@ -0,0 +1,4 @@
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Unity.ML-Agents.Runtime.Tests")]
+[assembly: InternalsVisibleTo("Unity.ML-Agents.Runtime.Input.Tests")]
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/AssemblyInfo.cs.meta b/com.unity.ml-agents/Runtime/Input/AssemblyInfo.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/AssemblyInfo.cs.meta
rename to com.unity.ml-agents/Runtime/Input/AssemblyInfo.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/IInputActionAssetProvider.cs b/com.unity.ml-agents/Runtime/Input/IInputActionAssetProvider.cs
similarity index 93%
rename from com.unity.ml-agents.extensions/Runtime/Input/IInputActionAssetProvider.cs
rename to com.unity.ml-agents/Runtime/Input/IInputActionAssetProvider.cs
index fd56c3503f..68bc2dbc71 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/IInputActionAssetProvider.cs
+++ b/com.unity.ml-agents/Runtime/Input/IInputActionAssetProvider.cs
@@ -1,7 +1,7 @@
#if MLA_INPUT_SYSTEM
using UnityEngine.InputSystem;
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// Implement this interface if you are listening to C# events from the generated C# class from the
@@ -14,6 +14,7 @@ namespace Unity.MLAgents.Extensions.Input
/// they will need to share the same instance of the in order to get the simulated
/// input.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public interface IInputActionAssetProvider
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/IInputActionAssetProvider.cs.meta b/com.unity.ml-agents/Runtime/Input/IInputActionAssetProvider.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/IInputActionAssetProvider.cs.meta
rename to com.unity.ml-agents/Runtime/Input/IInputActionAssetProvider.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/IRLActionInputAdaptor.cs b/com.unity.ml-agents/Runtime/Input/IRLActionInputAdaptor.cs
similarity index 94%
rename from com.unity.ml-agents.extensions/Runtime/Input/IRLActionInputAdaptor.cs
rename to com.unity.ml-agents/Runtime/Input/IRLActionInputAdaptor.cs
index c0f1ade2fb..b6aa0d8af5 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/IRLActionInputAdaptor.cs
+++ b/com.unity.ml-agents/Runtime/Input/IRLActionInputAdaptor.cs
@@ -3,12 +3,13 @@
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.LowLevel;
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// Implement this interface in order to customize how information is translated s
/// and .
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public interface IRLActionInputAdaptor
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/IRLActionInputAdaptor.cs.meta b/com.unity.ml-agents/Runtime/Input/IRLActionInputAdaptor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/IRLActionInputAdaptor.cs.meta
rename to com.unity.ml-agents/Runtime/Input/IRLActionInputAdaptor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/InputActionActuator.cs b/com.unity.ml-agents/Runtime/Input/InputActionActuator.cs
similarity index 97%
rename from com.unity.ml-agents.extensions/Runtime/Input/InputActionActuator.cs
rename to com.unity.ml-agents/Runtime/Input/InputActionActuator.cs
index 8f7d4f530f..12be1003ce 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/InputActionActuator.cs
+++ b/com.unity.ml-agents/Runtime/Input/InputActionActuator.cs
@@ -5,7 +5,7 @@
using UnityEngine.InputSystem;
using UnityEngine.Profiling;
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// This implementation of will send events from the ML-Agents training process, or from
@@ -13,6 +13,7 @@ namespace Unity.MLAgents.Extensions.Input
/// 's indicate that the Agent is running in Heuristic Mode,
/// this Actuator will write actions from the to the object.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public class InputActionActuator : IActuator, IBuiltInActuator
{
readonly BehaviorParameters m_BehaviorParameters;
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/InputActionActuator.cs.meta b/com.unity.ml-agents/Runtime/Input/InputActionActuator.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/InputActionActuator.cs.meta
rename to com.unity.ml-agents/Runtime/Input/InputActionActuator.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/InputActuatorComponent.cs b/com.unity.ml-agents/Runtime/Input/InputActuatorComponent.cs
similarity index 99%
rename from com.unity.ml-agents.extensions/Runtime/Input/InputActuatorComponent.cs
rename to com.unity.ml-agents/Runtime/Input/InputActuatorComponent.cs
index b1a75d233b..1233ab8b64 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/InputActuatorComponent.cs
+++ b/com.unity.ml-agents/Runtime/Input/InputActuatorComponent.cs
@@ -15,7 +15,7 @@
using UnityEditor;
#endif
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// Component class that handles the parsing of the and translates that into
@@ -23,6 +23,7 @@ namespace Unity.MLAgents.Extensions.Input
///
[RequireComponent(typeof(PlayerInput), typeof(IInputActionAssetProvider))]
[AddComponentMenu("ML Agents/Input Actuator", (int)MenuGroup.Actuators)]
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public class InputActuatorComponent : ActuatorComponent
{
InputActionAsset m_InputAsset;
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/InputActuatorComponent.cs.meta b/com.unity.ml-agents/Runtime/Input/InputActuatorComponent.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/InputActuatorComponent.cs.meta
rename to com.unity.ml-agents/Runtime/Input/InputActuatorComponent.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/InputActuatorEventContext.cs b/com.unity.ml-agents/Runtime/Input/InputActuatorEventContext.cs
similarity index 95%
rename from com.unity.ml-agents.extensions/Runtime/Input/InputActuatorEventContext.cs
rename to com.unity.ml-agents/Runtime/Input/InputActuatorEventContext.cs
index 816c55dbba..577d333e13 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/InputActuatorEventContext.cs
+++ b/com.unity.ml-agents/Runtime/Input/InputActuatorEventContext.cs
@@ -7,13 +7,14 @@
using UnityEditor;
#endif
-namespace Unity.MLAgents.Extensions.Input
+namespace Unity.MLAgents.Input
{
///
/// This interface is passed to InputActionActuators to allow them to write to InputEvents.
/// The way this interface should be used is to request the by calling
/// then call before returning from
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Input")]
public class InputActuatorEventContext : IDisposable
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/InputActuatorEventContext.cs.meta b/com.unity.ml-agents/Runtime/Input/InputActuatorEventContext.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Input/InputActuatorEventContext.cs.meta
rename to com.unity.ml-agents/Runtime/Input/InputActuatorEventContext.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Unity.ML-Agents.Extensions.Input.asmdef b/com.unity.ml-agents/Runtime/Input/Unity.ML-Agents.Input.asmdef
similarity index 89%
rename from com.unity.ml-agents.extensions/Runtime/Input/Unity.ML-Agents.Extensions.Input.asmdef
rename to com.unity.ml-agents/Runtime/Input/Unity.ML-Agents.Input.asmdef
index 51ee27288d..ee0c03550e 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/Unity.ML-Agents.Extensions.Input.asmdef
+++ b/com.unity.ml-agents/Runtime/Input/Unity.ML-Agents.Input.asmdef
@@ -1,5 +1,6 @@
{
- "name": "Unity.ML-Agents.Extensions.Input",
+ "name": "Unity.ML-Agents.Input",
+ "rootNamespace": "",
"references": [
"Unity.ML-Agents",
"Unity.InferenceEngine",
diff --git a/com.unity.ml-agents.extensions/Runtime/Input/Unity.ML-Agents.Extensions.Input.asmdef.meta b/com.unity.ml-agents/Runtime/Input/Unity.ML-Agents.Input.asmdef.meta
similarity index 76%
rename from com.unity.ml-agents.extensions/Runtime/Input/Unity.ML-Agents.Extensions.Input.asmdef.meta
rename to com.unity.ml-agents/Runtime/Input/Unity.ML-Agents.Input.asmdef.meta
index 5ad61670a7..c18dd6c365 100644
--- a/com.unity.ml-agents.extensions/Runtime/Input/Unity.ML-Agents.Extensions.Input.asmdef.meta
+++ b/com.unity.ml-agents/Runtime/Input/Unity.ML-Agents.Input.asmdef.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: a7b0d999fb2a7493a85c4c7017412530
+guid: 49852c668e604b83a3b4b39e4a7609ed
AssemblyDefinitionImporter:
externalObjects: {}
userData:
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyJointExtractor.cs b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodyJointExtractor.cs
similarity index 97%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyJointExtractor.cs
rename to com.unity.ml-agents/Runtime/Sensors/ArticulationBodyJointExtractor.cs
index fca56a4795..b3b8b7437f 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyJointExtractor.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodyJointExtractor.cs
@@ -2,10 +2,10 @@
using System.Collections.Generic;
using UnityEngine;
-using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public class ArticulationBodyJointExtractor : IJointExtractor
{
ArticulationBody m_Body;
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyJointExtractor.cs.meta b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodyJointExtractor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyJointExtractor.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/ArticulationBodyJointExtractor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyPoseExtractor.cs b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodyPoseExtractor.cs
similarity index 96%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyPoseExtractor.cs
rename to com.unity.ml-agents/Runtime/Sensors/ArticulationBodyPoseExtractor.cs
index b0c0246521..6467948cab 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyPoseExtractor.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodyPoseExtractor.cs
@@ -3,11 +3,12 @@
using System.Collections.Generic;
using UnityEngine;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
///
/// Utility class to track a hierarchy of ArticulationBodies.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public class ArticulationBodyPoseExtractor : PoseExtractor
{
ArticulationBody[] m_Bodies;
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyPoseExtractor.cs.meta b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodyPoseExtractor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodyPoseExtractor.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/ArticulationBodyPoseExtractor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodySensorComponent.cs b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodySensorComponent.cs
similarity index 84%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodySensorComponent.cs
rename to com.unity.ml-agents/Runtime/Sensors/ArticulationBodySensorComponent.cs
index 277f01269d..00ccca5e07 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodySensorComponent.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodySensorComponent.cs
@@ -1,9 +1,9 @@
#if UNITY_2020_1_OR_NEWER
using UnityEngine;
-using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public class ArticulationBodySensorComponent : SensorComponent
{
public ArticulationBody RootBody;
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodySensorComponent.cs.meta b/com.unity.ml-agents/Runtime/Sensors/ArticulationBodySensorComponent.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/ArticulationBodySensorComponent.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/ArticulationBodySensorComponent.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/CountingGridSensor.cs b/com.unity.ml-agents/Runtime/Sensors/CountingGridSensor.cs
similarity index 94%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/CountingGridSensor.cs
rename to com.unity.ml-agents/Runtime/Sensors/CountingGridSensor.cs
index b48deb995f..b3088b70f3 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/CountingGridSensor.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/CountingGridSensor.cs
@@ -1,11 +1,11 @@
using UnityEngine;
-using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
///
/// Grid-based sensor that counts the number of detctable objects.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public class CountingGridSensor : GridSensorBase
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/CountingGridSensor.cs.meta b/com.unity.ml-agents/Runtime/Sensors/CountingGridSensor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/CountingGridSensor.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/CountingGridSensor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/IJointExtractor.cs b/com.unity.ml-agents/Runtime/Sensors/IJointExtractor.cs
similarity index 88%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/IJointExtractor.cs
rename to com.unity.ml-agents/Runtime/Sensors/IJointExtractor.cs
index 401e3abf50..ed3d78d5f1 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/IJointExtractor.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/IJointExtractor.cs
@@ -1,10 +1,9 @@
-using Unity.MLAgents.Sensors;
-
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
///
/// Interface for generating observations from a physical joint or constraint.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public interface IJointExtractor
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/IJointExtractor.cs.meta b/com.unity.ml-agents/Runtime/Sensors/IJointExtractor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/IJointExtractor.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/IJointExtractor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsBodySensor.cs b/com.unity.ml-agents/Runtime/Sensors/PhysicsBodySensor.cs
similarity index 97%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsBodySensor.cs
rename to com.unity.ml-agents/Runtime/Sensors/PhysicsBodySensor.cs
index edcfd16966..b343945460 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsBodySensor.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/PhysicsBodySensor.cs
@@ -2,13 +2,13 @@
#if UNITY_2020_1_OR_NEWER
using UnityEngine;
#endif
-using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
///
/// ISensor implementation that generates observations for a group of Rigidbodies or ArticulationBodies.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public class PhysicsBodySensor : ISensor, IBuiltInSensor
{
ObservationSpec m_ObservationSpec;
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsBodySensor.cs.meta b/com.unity.ml-agents/Runtime/Sensors/PhysicsBodySensor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsBodySensor.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/PhysicsBodySensor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsSensorSettings.cs b/com.unity.ml-agents/Runtime/Sensors/PhysicsSensorSettings.cs
similarity index 97%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsSensorSettings.cs
rename to com.unity.ml-agents/Runtime/Sensors/PhysicsSensorSettings.cs
index ecfa4417db..e503f9e988 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsSensorSettings.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/PhysicsSensorSettings.cs
@@ -1,11 +1,11 @@
using System;
-using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
///
/// Settings that define the observations generated for physics-based sensors.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
[Serializable]
public struct PhysicsSensorSettings
{
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsSensorSettings.cs.meta b/com.unity.ml-agents/Runtime/Sensors/PhysicsSensorSettings.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/PhysicsSensorSettings.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/PhysicsSensorSettings.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/PoseExtractor.cs b/com.unity.ml-agents/Runtime/Sensors/PoseExtractor.cs
similarity index 99%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/PoseExtractor.cs
rename to com.unity.ml-agents/Runtime/Sensors/PoseExtractor.cs
index a528dde90a..98989c6499 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/PoseExtractor.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/PoseExtractor.cs
@@ -3,7 +3,7 @@
using UnityEngine;
using Object = UnityEngine.Object;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
///
/// Abstract class for managing the transforms of a hierarchy of objects.
@@ -14,6 +14,7 @@ namespace Unity.MLAgents.Extensions.Sensors
/// Poses are either considered in model space, which is relative to a root body,
/// or in local space, which is relative to their parent.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public abstract class PoseExtractor
{
int[] m_ParentIndices;
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/PoseExtractor.cs.meta b/com.unity.ml-agents/Runtime/Sensors/PoseExtractor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/PoseExtractor.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/PoseExtractor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyJointExtractor.cs b/com.unity.ml-agents/Runtime/Sensors/RigidBodyJointExtractor.cs
similarity index 94%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyJointExtractor.cs
rename to com.unity.ml-agents/Runtime/Sensors/RigidBodyJointExtractor.cs
index 1a5795521f..1b30b94e25 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyJointExtractor.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/RigidBodyJointExtractor.cs
@@ -1,8 +1,8 @@
using UnityEngine;
-using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public class RigidBodyJointExtractor : IJointExtractor
{
Rigidbody m_Body;
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyJointExtractor.cs.meta b/com.unity.ml-agents/Runtime/Sensors/RigidBodyJointExtractor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyJointExtractor.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/RigidBodyJointExtractor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyPoseExtractor.cs b/com.unity.ml-agents/Runtime/Sensors/RigidBodyPoseExtractor.cs
similarity index 98%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyPoseExtractor.cs
rename to com.unity.ml-agents/Runtime/Sensors/RigidBodyPoseExtractor.cs
index f1bca877b9..15b1927c43 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyPoseExtractor.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/RigidBodyPoseExtractor.cs
@@ -1,12 +1,13 @@
using System.Collections.Generic;
using UnityEngine;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
///
/// Utility class to track a hierarchy of RigidBodies. These are assumed to have a root node,
/// and child nodes are connect to their parents via Joints.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public class RigidBodyPoseExtractor : PoseExtractor
{
Rigidbody[] m_Bodies;
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyPoseExtractor.cs.meta b/com.unity.ml-agents/Runtime/Sensors/RigidBodyPoseExtractor.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodyPoseExtractor.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/RigidBodyPoseExtractor.cs.meta
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodySensorComponent.cs b/com.unity.ml-agents/Runtime/Sensors/RigidBodySensorComponent.cs
similarity index 96%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodySensorComponent.cs
rename to com.unity.ml-agents/Runtime/Sensors/RigidBodySensorComponent.cs
index 6cfc4aa666..666be0c2cc 100644
--- a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodySensorComponent.cs
+++ b/com.unity.ml-agents/Runtime/Sensors/RigidBodySensorComponent.cs
@@ -1,12 +1,12 @@
using System.Collections.Generic;
using UnityEngine;
-using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Sensors
+namespace Unity.MLAgents.Sensors
{
///
/// Editor component that creates a PhysicsBodySensor for the Agent.
///
+ [UnityEngine.Scripting.APIUpdating.MovedFrom("Unity.MLAgents.Extensions.Sensors")]
public class RigidBodySensorComponent : SensorComponent
{
///
diff --git a/com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodySensorComponent.cs.meta b/com.unity.ml-agents/Runtime/Sensors/RigidBodySensorComponent.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Runtime/Sensors/RigidBodySensorComponent.cs.meta
rename to com.unity.ml-agents/Runtime/Sensors/RigidBodySensorComponent.cs.meta
diff --git a/com.unity.ml-agents/Runtime/Unity.ML-Agents.asmdef b/com.unity.ml-agents/Runtime/Unity.ML-Agents.asmdef
index 1b0f8ca4d7..5926d50e62 100755
--- a/com.unity.ml-agents/Runtime/Unity.ML-Agents.asmdef
+++ b/com.unity.ml-agents/Runtime/Unity.ML-Agents.asmdef
@@ -35,4 +35,4 @@
}
],
"noEngineReferences": false
-}
\ No newline at end of file
+}
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input.meta b/com.unity.ml-agents/Tests/Runtime/Input.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input.meta
rename to com.unity.ml-agents/Tests/Runtime/Input.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors.meta b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs
similarity index 96%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs
index 7187a7e331..a8b30b786e 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs
@@ -1,11 +1,11 @@
#if MLA_INPUT_TESTS
using NUnit.Framework;
using Unity.MLAgents.Actuators;
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using UnityEngine;
using UnityEngine.InputSystem;
-namespace Unity.MLAgents.Extensions.Tests.Runtime.Input
+namespace Unity.MLAgents.Tests.Input
{
public class ButtonInputActionAdaptorTests : InputTestFixture
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/ButtonInputActionAdaptorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs
similarity index 96%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs
index 7033b383fe..6e6dd46f95 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs
@@ -1,11 +1,11 @@
#if MLA_INPUT_TESTS
using NUnit.Framework;
using Unity.MLAgents.Actuators;
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using UnityEngine;
using UnityEngine.InputSystem;
-namespace Unity.MLAgents.Extensions.Tests.Runtime.Input
+namespace Unity.MLAgents.Tests.Input
{
public class DoubleInputActionAdaptorTests : InputTestFixture
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/DoubleInputActionAdaptorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs
similarity index 96%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs
index 300dabec0c..4a5a80fe49 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs
@@ -1,11 +1,11 @@
#if MLA_INPUT_TESTS
using NUnit.Framework;
using Unity.MLAgents.Actuators;
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using UnityEngine;
using UnityEngine.InputSystem;
-namespace Unity.MLAgents.Extensions.Tests.Runtime.Input
+namespace Unity.MLAgents.Tests.Input
{
public class FloatInputActionAdaptorTests : InputTestFixture
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/FloatInputActionAdapatorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs
similarity index 96%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs
index a6d92e7af2..a0e87f4c75 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs
@@ -1,10 +1,10 @@
#if MLA_INPUT_TESTS
using NUnit.Framework;
using Unity.MLAgents.Actuators;
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using UnityEngine.InputSystem;
-namespace Unity.MLAgents.Extensions.Tests.Runtime.Input
+namespace Unity.MLAgents.Tests.Input
{
public class IntegerInputActionAdaptorTests : InputTestFixture
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/IntegerInputActionAdaptorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs
similarity index 96%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs
index 70f29d9a88..136e415ff9 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs
@@ -1,11 +1,11 @@
#if MLA_INPUT_TESTS
using NUnit.Framework;
using Unity.MLAgents.Actuators;
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using UnityEngine;
using UnityEngine.InputSystem;
-namespace Unity.MLAgents.Extensions.Tests.Runtime.Input
+namespace Unity.MLAgents.Tests.Input
{
public class Vector2InputActionAdaptorTests : InputTestFixture
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/Adaptors/Vector2InputActionAdaptorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActionActuatorTests.cs b/com.unity.ml-agents/Tests/Runtime/Input/InputActionActuatorTests.cs
similarity index 96%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActionActuatorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Input/InputActionActuatorTests.cs
index e73400ce62..e9ea3bd45e 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActionActuatorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Input/InputActionActuatorTests.cs
@@ -1,14 +1,14 @@
#if MLA_INPUT_TESTS
using NUnit.Framework;
using Unity.MLAgents.Actuators;
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using Unity.MLAgents.Policies;
using Unity.InferenceEngine;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.LowLevel;
-namespace Unity.MLAgents.Extensions.Tests.Runtime.Input
+namespace Unity.MLAgents.Tests.Input
{
class TestAdaptor : IRLActionInputAdaptor
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActionActuatorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Input/InputActionActuatorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActionActuatorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/InputActionActuatorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActuatorComponentTests.cs b/com.unity.ml-agents/Tests/Runtime/Input/InputActuatorComponentTests.cs
similarity index 97%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActuatorComponentTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Input/InputActuatorComponentTests.cs
index a3740c304f..6bdb6fc2f7 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActuatorComponentTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Input/InputActuatorComponentTests.cs
@@ -1,14 +1,13 @@
#if MLA_INPUT_TESTS
-using System;
using System.Linq;
using NUnit.Framework;
using Unity.MLAgents.Actuators;
-using Unity.MLAgents.Extensions.Input;
+using Unity.MLAgents.Input;
using Unity.MLAgents.Policies;
using UnityEngine;
using UnityEngine.InputSystem;
-namespace Unity.MLAgents.Extensions.Tests.Runtime.Input
+namespace Unity.MLAgents.Tests.Input
{
class TestProvider : MonoBehaviour, IInputActionAssetProvider
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActuatorComponentTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Input/InputActuatorComponentTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/InputActuatorComponentTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/InputActuatorComponentTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/TestPushBlockActions.cs b/com.unity.ml-agents/Tests/Runtime/Input/TestPushBlockActions.cs
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/TestPushBlockActions.cs
rename to com.unity.ml-agents/Tests/Runtime/Input/TestPushBlockActions.cs
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/TestPushBlockActions.cs.meta b/com.unity.ml-agents/Tests/Runtime/Input/TestPushBlockActions.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/TestPushBlockActions.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/TestPushBlockActions.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Unity.ML-Agents.Extensions.Input.Tests.Runtime.asmdef b/com.unity.ml-agents/Tests/Runtime/Input/Unity.ML-Agents.Runtime.Input.Tests.asmdef
similarity index 86%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Input/Unity.ML-Agents.Extensions.Input.Tests.Runtime.asmdef
rename to com.unity.ml-agents/Tests/Runtime/Input/Unity.ML-Agents.Runtime.Input.Tests.asmdef
index 180d31d42c..5b0af0f389 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Input/Unity.ML-Agents.Extensions.Input.Tests.Runtime.asmdef
+++ b/com.unity.ml-agents/Tests/Runtime/Input/Unity.ML-Agents.Runtime.Input.Tests.asmdef
@@ -1,8 +1,9 @@
{
- "name": "Unity.ML-Agents.Extensions.Input.Tests.Runtime",
+ "name": "Unity.ML-Agents.Runtime.Input.Tests",
+ "rootNamespace": "",
"references": [
"Unity.ML-Agents",
- "Unity.ML-Agents.Extensions.Input",
+ "Unity.ML-Agents.Input",
"Unity.InputSystem.TestFramework",
"UnityEngine.TestRunner",
"UnityEditor.TestRunner",
diff --git a/com.unity.ml-agents.extensions/Editor/Unity.ML-Agents.Extensions.Editor.asmdef.meta b/com.unity.ml-agents/Tests/Runtime/Input/Unity.ML-Agents.Runtime.Input.Tests.asmdef.meta
similarity index 76%
rename from com.unity.ml-agents.extensions/Editor/Unity.ML-Agents.Extensions.Editor.asmdef.meta
rename to com.unity.ml-agents/Tests/Runtime/Input/Unity.ML-Agents.Runtime.Input.Tests.asmdef.meta
index bd9ebd4b70..39e5e65165 100644
--- a/com.unity.ml-agents.extensions/Editor/Unity.ML-Agents.Extensions.Editor.asmdef.meta
+++ b/com.unity.ml-agents/Tests/Runtime/Input/Unity.ML-Agents.Runtime.Input.Tests.asmdef.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: eec81f5d1363e46538604927f0b9199c
+guid: 3b0ef87e2efab493280f7ea1fe55e061
AssemblyDefinitionImporter:
externalObjects: {}
userData:
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/RuntimeExampleTest.cs b/com.unity.ml-agents/Tests/Runtime/RuntimeExampleTest.cs
similarity index 81%
rename from com.unity.ml-agents.extensions/Tests/Runtime/RuntimeExampleTest.cs
rename to com.unity.ml-agents/Tests/Runtime/RuntimeExampleTest.cs
index 4065dce1dc..1f4df8f39d 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/RuntimeExampleTest.cs
+++ b/com.unity.ml-agents/Tests/Runtime/RuntimeExampleTest.cs
@@ -1,6 +1,6 @@
using NUnit.Framework;
-namespace Unity.MLAgents.Extensions.Tests
+namespace Tests
{
internal class RuntimeExampleTest
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/RuntimeExampleTest.cs.meta b/com.unity.ml-agents/Tests/Runtime/RuntimeExampleTest.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/RuntimeExampleTest.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/RuntimeExampleTest.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodyPoseExtractorTests.cs b/com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodyPoseExtractorTests.cs
similarity index 95%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodyPoseExtractorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodyPoseExtractorTests.cs
index fd5a64df0d..1c4aee8f8a 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodyPoseExtractorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodyPoseExtractorTests.cs
@@ -1,9 +1,9 @@
#if UNITY_2020_1_OR_NEWER
using UnityEngine;
using NUnit.Framework;
-using Unity.MLAgents.Extensions.Sensors;
+using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Tests.Sensors
+namespace Unity.MLAgents.Tests
{
public class ArticulationBodyPoseExtractorTests
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodyPoseExtractorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodyPoseExtractorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodyPoseExtractorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodyPoseExtractorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodySensorTests.cs b/com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodySensorTests.cs
similarity index 98%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodySensorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodySensorTests.cs
index 1bd10be9cc..c8592a88ea 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodySensorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodySensorTests.cs
@@ -1,10 +1,10 @@
#if UNITY_2020_1_OR_NEWER
using UnityEngine;
using NUnit.Framework;
-using Unity.MLAgents.Extensions.Sensors;
+using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Tests.Sensors
+namespace Unity.MLAgents.Tests
{
public class ArticulationBodySensorTests
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodySensorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodySensorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/ArticulationBodySensorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Sensor/ArticulationBodySensorTests.cs.meta
diff --git a/com.unity.ml-agents/Tests/Runtime/Sensor/AssemblyInfo.cs b/com.unity.ml-agents/Tests/Runtime/Sensor/AssemblyInfo.cs
new file mode 100644
index 0000000000..8df4fbe14b
--- /dev/null
+++ b/com.unity.ml-agents/Tests/Runtime/Sensor/AssemblyInfo.cs
@@ -0,0 +1,3 @@
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Unity.ML-Agents.Editor.Tests")]
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/AssemblyInfo.cs.meta b/com.unity.ml-agents/Tests/Runtime/Sensor/AssemblyInfo.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/AssemblyInfo.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Sensor/AssemblyInfo.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/CountingGridSensorTests.cs b/com.unity.ml-agents/Tests/Runtime/Sensor/CountingGridSensorTests.cs
similarity index 98%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/CountingGridSensorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Sensor/CountingGridSensorTests.cs
index 4e2054358b..094a9bccbe 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/CountingGridSensorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Sensor/CountingGridSensorTests.cs
@@ -5,10 +5,9 @@
using UnityEngine;
using UnityEngine.TestTools;
using Unity.MLAgents.Sensors;
-using Unity.MLAgents.Extensions.Sensors;
using Object = UnityEngine.Object;
-namespace Unity.MLAgents.Extensions.Tests.Sensors
+namespace Unity.MLAgents.Tests
{
public class CountingGridSensorTests
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/CountingGridSensorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Sensor/CountingGridSensorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/CountingGridSensorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Sensor/CountingGridSensorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/PoseExtractorTests.cs b/com.unity.ml-agents/Tests/Runtime/Sensor/PoseExtractorTests.cs
similarity index 98%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/PoseExtractorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Sensor/PoseExtractorTests.cs
index 1bb4fb4c1e..25f0b05f95 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/PoseExtractorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Sensor/PoseExtractorTests.cs
@@ -1,9 +1,9 @@
using System;
using UnityEngine;
using NUnit.Framework;
-using Unity.MLAgents.Extensions.Sensors;
+using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Tests.Sensors
+namespace Unity.MLAgents.Tests
{
public class PoseExtractorTests
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/PoseExtractorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Sensor/PoseExtractorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/PoseExtractorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Sensor/PoseExtractorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodyPoseExtractorTests.cs b/com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodyPoseExtractorTests.cs
similarity index 98%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodyPoseExtractorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodyPoseExtractorTests.cs
index 80130711be..ec5073affb 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodyPoseExtractorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodyPoseExtractorTests.cs
@@ -1,8 +1,8 @@
using UnityEngine;
using NUnit.Framework;
-using Unity.MLAgents.Extensions.Sensors;
+using Unity.MLAgents.Sensors;
-namespace Unity.MLAgents.Extensions.Tests.Sensors
+namespace Unity.MLAgents.Tests
{
public class RigidBodyPoseExtractorTests
{
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodyPoseExtractorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodyPoseExtractorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodyPoseExtractorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodyPoseExtractorTests.cs.meta
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodySensorTests.cs b/com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodySensorTests.cs
similarity index 87%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodySensorTests.cs
rename to com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodySensorTests.cs
index 86e3fb45bf..9701ea2025 100644
--- a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodySensorTests.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodySensorTests.cs
@@ -1,27 +1,9 @@
using UnityEngine;
using NUnit.Framework;
using Unity.MLAgents.Sensors;
-using Unity.MLAgents.Extensions.Sensors;
-namespace Unity.MLAgents.Extensions.Tests.Sensors
+namespace Unity.MLAgents.Tests
{
- public static class SensorTestHelper
- {
- public static void CompareObservation(ISensor sensor, float[] expected)
- {
- string errorMessage;
- bool isOk = SensorHelper.CompareObservation(sensor, expected, out errorMessage);
- Assert.IsTrue(isOk, errorMessage);
- }
-
- public static void CompareObservation(ISensor sensor, float[,,] expected)
- {
- string errorMessage;
- bool isOk = SensorHelper.CompareObservation(sensor, expected, out errorMessage);
- Assert.IsTrue(isOk, errorMessage);
- }
- }
-
public class RigidBodySensorTests
{
[Test]
diff --git a/com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodySensorTests.cs.meta b/com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodySensorTests.cs.meta
similarity index 100%
rename from com.unity.ml-agents.extensions/Tests/Runtime/Sensors/RigidBodySensorTests.cs.meta
rename to com.unity.ml-agents/Tests/Runtime/Sensor/RigidBodySensorTests.cs.meta
diff --git a/com.unity.ml-agents/Tests/Runtime/Sensor/Unity.ML-Agents.Runtime.Sensor.Tests.asmdef b/com.unity.ml-agents/Tests/Runtime/Sensor/Unity.ML-Agents.Runtime.Sensor.Tests.asmdef
index ed2c2083f7..2b05d73cb9 100644
--- a/com.unity.ml-agents/Tests/Runtime/Sensor/Unity.ML-Agents.Runtime.Sensor.Tests.asmdef
+++ b/com.unity.ml-agents/Tests/Runtime/Sensor/Unity.ML-Agents.Runtime.Sensor.Tests.asmdef
@@ -21,7 +21,6 @@
],
"autoReferenced": false,
"defineConstraints": [
- "UNITY_INCLUDE_TESTS",
"UNITY_INCLUDE_TESTS"
],
"versionDefines": [
diff --git a/com.unity.ml-agents/Tests/Runtime/Unity.ML-Agents.Runtime.Tests.asmdef b/com.unity.ml-agents/Tests/Runtime/Unity.ML-Agents.Runtime.Tests.asmdef
index ca7211d376..7b8184317f 100644
--- a/com.unity.ml-agents/Tests/Runtime/Unity.ML-Agents.Runtime.Tests.asmdef
+++ b/com.unity.ml-agents/Tests/Runtime/Unity.ML-Agents.Runtime.Tests.asmdef
@@ -21,7 +21,6 @@
],
"autoReferenced": false,
"defineConstraints": [
- "UNITY_INCLUDE_TESTS",
"UNITY_INCLUDE_TESTS"
],
"versionDefines": [
@@ -37,4 +36,4 @@
}
],
"noEngineReferences": false
-}
\ No newline at end of file
+}
diff --git a/com.unity.ml-agents/Tests/Runtime/Utils/TestClasses.cs b/com.unity.ml-agents/Tests/Runtime/Utils/TestClasses.cs
index f17b88279e..28371d71b9 100644
--- a/com.unity.ml-agents/Tests/Runtime/Utils/TestClasses.cs
+++ b/com.unity.ml-agents/Tests/Runtime/Utils/TestClasses.cs
@@ -9,7 +9,6 @@
[assembly: InternalsVisibleTo("Unity.ML-Agents.Editor.Tests")]
[assembly: InternalsVisibleTo("Unity.ML-Agents.Runtime.Sensor.Tests")]
-[assembly: InternalsVisibleTo("Unity.ML-Agents.Extensions.EditorTests")]
namespace Unity.MLAgents.Utils.Tests
{
diff --git a/docs/Installation.md b/docs/Installation.md
index 43416dea65..e8fa788c99 100644
--- a/docs/Installation.md
+++ b/docs/Installation.md
@@ -3,13 +3,9 @@
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`.
+ Unity C# SDK that will be integrated into your Unity project. This package contains
+ a sample to help you get started with ML-Agents, including advanced features like
+ custom sensors, input system integration, and physics-based components.
- 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
@@ -28,12 +24,10 @@ Consequently, to install and use the ML-Agents Toolkit you will need to:
- Install Python (>= 3.10.1, <=3.10.12) - we recommend using 3.10.12
- Clone this repository (Recommended for the latest version and bug fixes)
- __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
+ able to access the example environments and training configurations.
+ 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-envs`
- Install the `mlagents` Python package
@@ -132,15 +126,6 @@ project by:
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
diff --git a/docs/Learning-Environment-Design-Agents.md b/docs/Learning-Environment-Design-Agents.md
index 8000a88465..dbfca2f53c 100644
--- a/docs/Learning-Environment-Design-Agents.md
+++ b/docs/Learning-Environment-Design-Agents.md
@@ -583,9 +583,7 @@ granularity of the observation and training speed.
To allow more variety of observations that grid sensor can capture, the
`GridSensorComponent` and the underlying `GridSensorBase` also provides interfaces
that can be overridden to collect customized observation from detected objects.
-See the doc on
-[extending grid Sensors](https://github.com/Unity-Technologies/ml-agents/blob/release_22_docs/com.unity.ml-agents.extensions/Documentation~/CustomGridSensors.md)
-for more details on custom grid sensors.
+See the Unity package documentation for more details on custom grid sensors.
__Note__: The `GridSensor` only works in 3D environments and will not behave
properly in 2D environments.
diff --git a/docs/com.unity.ml-agents.extensions.md b/docs/com.unity.ml-agents.extensions.md
deleted file mode 100644
index 48a1449efa..0000000000
--- a/docs/com.unity.ml-agents.extensions.md
+++ /dev/null
@@ -1 +0,0 @@
-{!../com.unity.ml-agents.extensions/Documentation~/com.unity.ml-agents.extensions.md!}
diff --git a/ml-agents/tests/yamato/yamato_utils.py b/ml-agents/tests/yamato/yamato_utils.py
index 5474e56285..7471d90d49 100644
--- a/ml-agents/tests/yamato/yamato_utils.py
+++ b/ml-agents/tests/yamato/yamato_utils.py
@@ -164,7 +164,7 @@ def checkout_csharp_version(csharp_version):
return
csharp_tag = f"com.unity.ml-agents_{csharp_version}"
- csharp_dirs = ["com.unity.ml-agents", "com.unity.ml-agents.extensions", "Project"]
+ csharp_dirs = ["com.unity.ml-agents", "Project"]
for csharp_dir in csharp_dirs:
subprocess.check_call(f"rm -rf {csharp_dir}", shell=True)
# Allow the checkout to fail, since the extensions folder isn't availabe in 1.0.0
diff --git a/utils/validate_meta_files.py b/utils/validate_meta_files.py
index 9d247fa76f..9e7411217c 100644
--- a/utils/validate_meta_files.py
+++ b/utils/validate_meta_files.py
@@ -6,7 +6,6 @@ def main():
"Project/Assets",
"DevProject/Assets",
"com.unity.ml-agents",
- "com.unity.ml-agents.extensions",
]
meta_suffix = ".meta"
python_suffix = ".py"
@@ -19,9 +18,6 @@ def main():
"com.unity.ml-agents/Tests/.tests.json",
"com.unity.ml-agents/.pre-commit-config.yaml",
"com.unity.ml-agents/.pre-commit-search-and-replace.yaml",
- "com.unity.ml-agents.extensions/.gitignore",
- "com.unity.ml-agents.extensions/.npmignore",
- "com.unity.ml-agents.extensions/Tests/.tests.json",
"com.unity.ml-agents/Samples/3DBall/.sample.json",
]
)
diff --git a/utils/validate_versions.py b/utils/validate_versions.py
index 0090bbf09d..069f2db93b 100755
--- a/utils/validate_versions.py
+++ b/utils/validate_versions.py
@@ -11,7 +11,6 @@
DIRECTORIES = ["ml-agents/mlagents/trainers", "ml-agents-envs/mlagents_envs"]
MLAGENTS_PACKAGE_JSON_PATH = "com.unity.ml-agents/package.json"
-MLAGENTS_EXTENSIONS_PACKAGE_JSON_PATH = "com.unity.ml-agents.extensions/package.json"
ACADEMY_PATH = "com.unity.ml-agents/Runtime/Academy.cs"
@@ -84,16 +83,10 @@ def set_version(
# removed exp.1 tag from version strings since MLA package is a supported package again
# package_version = f"{csharp_version}-exp.1"
package_version = f"{csharp_version}"
- if csharp_extensions_version is not None:
- # since this has never been promoted we need to keep
- # it in preview forever or CI will fail
- extension_version = f"{csharp_extensions_version}-preview"
print(
f"Setting package version to {package_version} in {MLAGENTS_PACKAGE_JSON_PATH}"
- f" and {MLAGENTS_EXTENSIONS_PACKAGE_JSON_PATH}"
)
set_package_version(package_version)
- set_extension_package_version(package_version, extension_version)
print(f"Setting package version to {package_version} in {ACADEMY_PATH}")
set_academy_version_string(package_version)
@@ -108,19 +101,6 @@ def set_package_version(new_version: str) -> None:
f.write("\n")
-def set_extension_package_version(
- new_dependency_version: str, new_extension_version
-) -> None:
- with open(MLAGENTS_EXTENSIONS_PACKAGE_JSON_PATH) as f:
- package_json = json.load(f)
- package_json["dependencies"]["com.unity.ml-agents"] = new_dependency_version
- if new_extension_version is not None:
- package_json["version"] = new_extension_version
- with open(MLAGENTS_EXTENSIONS_PACKAGE_JSON_PATH, "w") as f:
- json.dump(package_json, f, indent=2)
- f.write("\n")
-
-
def set_academy_version_string(new_version):
needle = "internal const string k_PackageVersion"
found = 0