Installation#

This page describes how to install Isaac Lab Arena, either natively with uv or from source inside a Docker container.

Supported workflows by installation method#

Installation method

Evaluation

Imitation learning

Reinforcement learning

Docker

uv (Isaac Lab from source)

uv (Isaac Lab from wheel)

Supported Systems#

Isaac Lab Arena runs on Isaac Sim 6.0.0 and Isaac Lab 3.0.0. The dependencies are installed automatically by either workflow below. Hardware requirements for Isaac Lab Arena are shared with Isaac Sim, and are detailed in Isaac Sim Requirements.

Native uv developer setup#

Isaac Lab Arena can be installed natively with uv; the committed lockfile pins the complete environment. Two flavors are available, differing only in where Isaac Lab comes from:

  • Source flavor (recommended): Isaac Lab is installed editable from the submodules/IsaacLab checkout.

  • Wheel flavor: Isaac Lab is installed from the published wheel, which does not include Isaac Lab’s RL/IL scripts.

Both flavors follow the same workflow — clone, sync, activate, run; only the uv sync line differs.

Clone the repository:

git clone --recurse-submodules https://github.com/isaac-sim/IsaacLab-Arena.git
cd IsaacLab-Arena

Sync the environment and activate it, picking the flavor that matches your workflow:

uv sync
source .venv/bin/activate
uv sync --no-default-groups --group isaaclab-from-wheel
source .venv/bin/activate

Note

The wheel flavor does not support the imitation learning and reinforcement learning workflows: the published Isaac Lab wheel does not include the scripts they rely on. Use the source flavor for those workflows.

uv sync creates a Python virtual environment in .venv/ (pinned by .python-version), installs Isaac Lab Arena and Isaac Lab (editable from submodules/IsaacLab in the source flavor, or from the published wheel), and pulls the matching Isaac Sim, PyTorch, and Newton wheels at the versions pinned by the committed lockfile.

Note

The two flavors are mutually exclusive within the single .venv: syncing one replaces the other. In the wheel flavor, run python/pytest in the activated environment rather than through uv run — a bare uv run re-syncs the environment back to the source flavor.

Accept the Isaac Sim EULA so the first launch is non-interactive:

export OMNI_KIT_ACCEPT_EULA=YES ACCEPT_EULA=Y

Launch a short zero-action rollout as a visual validation that things are running:

python isaaclab_arena/evaluation/policy_runner.py \
  --policy_type zero_action --num_steps 20 cube_goal_pose

Optionally, watch the rollout in the GUI visualizer by adding --viz kit (and a few more steps so there is time to see it):

python isaaclab_arena/evaluation/policy_runner.py \
  --viz kit --policy_type zero_action --num_steps 200 cube_goal_pose

Optionally verify the installation by running the test phases (the same phases the Docker workflow runs below):

pytest -sv -m "not with_cameras and not with_subprocess" isaaclab_arena/tests/
pytest -sv -m "with_cameras and not with_subprocess" isaaclab_arena/tests/
pytest -sv -m with_subprocess isaaclab_arena/tests/

With isaaclab_arena installed you’re ready to build your first environment; see First Arena Environment.

Installation via Docker#

Isaac Lab Arena supports installation from source inside a Docker container. Future versions of Isaac Lab Arena, we will support a larger range of installation options.

  1. Clone the repository and initialize submodules:

git clone git@github.com:isaac-sim/IsaacLab-Arena.git
git submodule update --init --recursive
  1. Launch the docker container:

./docker/run_docker.sh

The container will build (if needed) and drop you into an interactive shell.

Note

The run docker script mounts the following directories from the host machine if they exist:

  • Datasets: $HOME/datasets/datasets

  • Models: $HOME/models/models

  • Evaluation: $HOME/eval/eval

When mounted a user avoids re-downloading datasets and models between container restarts, so our suggestion is to create these directories on the host machine before running the container. Note that the path of the mounted directories are configurable — see docker/run_docker.sh for the full list of arguments.

  1. Optionally verify installation by running tests:

pytest -sv -m "with_cameras and not with_subprocess" isaaclab_arena/tests/
pytest -sv -m "not with_cameras and not with_subprocess" isaaclab_arena/tests/
pytest -sv -m with_subprocess isaaclab_arena/tests/

With isaaclab_arena installed and the docker running, you’re ready to build your first IsaacLab-Arena Environment. See First Arena Environment to get started.