# Python Gym API Documentation # mlagents\_envs.envs.unity\_gym\_env ## UnityGymException Objects ```python class UnityGymException(error.Error) ``` Any error related to the gym wrapper of ml-agents. ## UnityToGymWrapper Objects ```python class UnityToGymWrapper(gym.Env) ``` Provides Gym wrapper for Unity Learning Environments. #### \_\_init\_\_ ```python | __init__(unity_env: BaseEnv, uint8_visual: bool = False, flatten_branched: bool = False, allow_multiple_obs: bool = False, action_space_seed: Optional[int] = None) ``` Environment initialization **Arguments**: - `unity_env`: The Unity BaseEnv to be wrapped in the gym. Will be closed when the UnityToGymWrapper closes. - `uint8_visual`: Return visual observations as uint8 (0-255) matrices instead of float (0.0-1.0). - `flatten_branched`: If True, turn branched discrete action spaces into a Discrete space rather than MultiDiscrete. - `allow_multiple_obs`: If True, return a list of np.ndarrays as observations with the first elements containing the visual observations and the last element containing the array of vector observations. If False, returns a single np.ndarray containing either only a single visual observation or the array of vector observations. - `action_space_seed`: If non-None, will be used to set the random seed on created gym.Space instances. #### reset ```python | reset(*, seed: Optional[int] = None, options: Optional[Dict[str, Any]] = None) -> Tuple[np.ndarray, Dict] ``` Resets the state of the environment and returns an initial observation and info. Returns: observation (object/list): the initial observation of the space. info (dict): contains auxiliary diagnostic information. #### step ```python | step(action: Any) -> GymStepResult ``` Run one timestep of the environment's dynamics. When end of episode is reached, you are responsible for calling `reset()` to reset this environment's state. Accepts an action and returns a tuple (observation, reward, terminated, truncated, info). **Arguments**: - `action` _object/list_ - an action provided by the environment **Returns**: - `observation` _object/list_ - agent's observation of the current environment reward (float/list) : amount of reward returned after previous action - `terminated` _boolean/list_ - whether the episode has ended by termination. - `truncated` _boolean/list_ - whether the episode has ended by truncation. - `info` _dict_ - contains auxiliary diagnostic information. #### render ```python | render() ``` Return the latest visual observations. Note that it will not render a new frame of the environment. #### close ```python | close() -> None ``` Override _close in your subclass to perform any necessary cleanup. Environments will automatically close() themselves when garbage collected or when the program exits. #### seed ```python | seed(seed: Any = None) -> None ``` Sets the seed for this env's random number generator(s). Currently not implemented. ## ActionFlattener Objects ```python class ActionFlattener() ``` Flattens branched discrete action spaces into single-branch discrete action spaces. #### \_\_init\_\_ ```python | __init__(branched_action_space) ``` Initialize the flattener. **Arguments**: - `branched_action_space`: A List containing the sizes of each branch of the action space, e.g. [2,3,3] for three branches with size 2, 3, and 3 respectively. #### lookup\_action ```python | lookup_action(action) ``` Convert a scalar discrete action into a unique set of branched actions. **Arguments**: - `action`: A scalar value representing one of the discrete actions. **Returns**: The List containing the branched actions.