com.unity.ml-agents/Documentation~/FAQ.md
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:
chmod -R 755 *.app
or on Linux:
chmod -R 755 *.x86_64
On Windows, you can find instructions.
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:
HTTP_PROXY and HTTPS_PROXY values in your environment variables. Solution: Remove these values and try again.--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).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
UnityEnvironment(file_name=filename, worker_id=X)
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.
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), or following the instructions here to verify the relevant files on your machine on a file-by-file basis.