Installing IsaacLab-Arena in Your Repository#
The recommended way to consume IsaacLab-Arena from an external project is to include it as an unmodified git submodule and extend it purely through its registration API — without editing any file inside the Arena source tree.
This is the currently recommended integration pattern until IsaacLab-Arena is available as a
published pip package, at which point the submodule will be replaced by a simple
pip install isaaclab_arena. The environment and asset extension patterns below will
remain unchanged.
Repository Layout#
A typical external repository looks like this:
my_project/
├── submodules/
│ └── IsaacLab-Arena/ ← unmodified Arena submodule
├── my_package/
│ ├── pyproject.toml
│ ├── isaaclab_arena_environments/
│ │ ├── __init__.py
│ │ └── my_environment.py ← custom environment class
├── docker/
│ └── Dockerfile
└── .gitmodules
Add the submodule with:
git submodule add git@github.com:isaac-sim/IsaacLab-Arena.git submodules/IsaacLab-Arena
Dockerfile#
Your base image must already have Isaac Sim and Isaac Lab installed (e.g.
nvcr.io/nvidia/isaac-sim:6.0.0).
Copy the submodule into the image and install Arena
before your own package run pip install -e.
# Base image must have Isaac Sim
# e.g. FROM nvcr.io/nvidia/isaac-sim:6.0.0
# Image must have Isaac Lab installed
# e.g. RUN /isaaclab/isaaclab.sh -i
# Copy the submodule into the image and install Arena
COPY submodules/IsaacLab-Arena /opt/arena
RUN /isaac-sim/python.sh -m pip install -e /opt/arena
# Install your package after Arena is in place
COPY my_package /workspace/my_package
RUN /isaac-sim/python.sh -m pip install -e /workspace/my_package
See Arena’s own Dockerfile for a complete reference, including Isaac Lab installation and optional GR00T dependencies.
Note
Note that above we have assumed that Arena is being installed inside a Docker container. Of course, if you have an non-Docker environment that satisfies the prerequisites, you can install Arena directly into that environment, without the need for Docker.
Next Steps#
Once Arena is installed, see Defining Environments in Your Repository for how to define your own environments in your repository.