|
# Frequently Asked Questions |
|
|
|
## Installation problems |
|
|
|
## Environment Permission Error |
|
|
|
If you directly import your Unity environment without building it in the editor, |
|
you might need to give it additional permissions to execute it. |
|
|
|
If you receive such a permission error on macOS, run: |
|
|
|
```sh |
|
chmod -R 755 *.app |
|
``` |
|
|
|
or on Linux: |
|
|
|
```sh |
|
chmod -R 755 *.x86_64 |
|
``` |
|
|
|
On Windows, you can find |
|
[instructions](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc754344(v=ws.11)). |
|
|
|
## Environment Connection Timeout |
|
|
|
If you are able to launch the environment from `UnityEnvironment` but then |
|
receive a timeout error like this: |
|
|
|
``` |
|
UnityAgentsException: The Communicator was unable to connect. Please make sure the External process is ready to accept communication with Unity. |
|
``` |
|
|
|
There may be a number of possible causes: |
|
|
|
- _Cause_: There may be no agent in the scene |
|
- _Cause_: On OSX, the firewall may be preventing communication with the |
|
environment. _Solution_: Add the built environment binary to the list of |
|
exceptions on the firewall by following |
|
[instructions](https://support.apple.com/en-us/HT201642). |
|
- _Cause_: An error happened in the Unity Environment preventing communication. |
|
_Solution_: Look into the |
|
[log files](https://docs.unity3d.com/Manual/LogFiles.html) generated by the |
|
Unity Environment to figure what error happened. |
|
- _Cause_: You have assigned `HTTP_PROXY` and `HTTPS_PROXY` values in your |
|
environment variables. _Solution_: Remove these values and try again. |
|
- _Cause_: You are running in a headless environment (e.g. remotely connected |
|
to a server). _Solution_: Pass `--no-graphics` to `mlagents-learn`, or |
|
`no_graphics=True` to `RemoteRegistryEntry.make()` or the `UnityEnvironment` |
|
initializer. If you need graphics for visual observations, you will need to |
|
set up `xvfb` (or equivalent). |
|
|
|
## Communication port {} still in use |
|
|
|
If you receive an exception |
|
`"Couldn't launch new environment because communication port {} is still in use. "`, |
|
you can change the worker number in the Python script when calling |
|
|
|
```python |
|
UnityEnvironment(file_name=filename, worker_id=X) |
|
``` |
|
|
|
## Mean reward : nan |
|
|
|
If you receive a message `Mean reward : nan` when attempting to train a model |
|
using PPO, this is due to the episodes of the Learning Environment not |
|
terminating. In order to address this, set `Max Steps` for the Agents within the |
|
Scene Inspector to a value greater than 0. Alternatively, it is possible to |
|
manually set `done` conditions for episodes from within scripts for custom |
|
episode-terminating events. |
|
|
|
## "File name" cannot be opened because the developer cannot be verified. |
|
|
|
If you have downloaded the repository using the github website on macOS 10.15 (Catalina) |
|
or later, you may see this error when attempting to play scenes in the Unity project. |
|
Workarounds include installing the package using the Unity Package Manager (this is |
|
the officially supported approach - see [here](Installation.md)), or following the |
|
instructions [here](https://support.apple.com/en-us/HT202491) to verify the relevant |
|
files on your machine on a file-by-file basis. |
|
|