Installation using Isaac Sim Source Code#

The following steps first installs Isaac Sim from source, then UW Lab from source code.

Note

This is a more advanced installation method and is not recommended for most users. Only follow this method if you wish to modify the source code of Isaac Sim as well.

Installing Isaac Sim#

Building from source#

From Isaac Sim 5.0 release, it is possible to build Isaac Sim from its source code. This approach is meant for users who wish to modify the source code of Isaac Sim as well, or want to test UW Lab with the nightly version of Isaac Sim.

The following instructions are adapted from the Isaac Sim documentation for the convenience of users.

Attention

Building Isaac Sim from source requires Ubuntu 22.04 LTS or higher.

Attention

For details on driver requirements, please see the Technical Requirements guide!

On Windows, it may be necessary to enable long path support to avoid installation errors due to OS limitations.

  • Clone the Isaac Sim repository into your workspace:

    git clone https://github.com/isaac-sim/IsaacSim.git
    
  • Build Isaac Sim from source:

    cd IsaacSim
    ./build.sh
    
    cd IsaacSim
    build.bat
    

Verifying the Isaac Sim installation#

To avoid the overhead of finding and locating the Isaac Sim installation directory every time, we recommend exporting the following environment variables to your terminal for the remaining of the installation instructions:

# Isaac Sim root directory
export ISAACSIM_PATH="${pwd}/_build/linux-x86_64/release"
# Isaac Sim python executable
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
:: Isaac Sim root directory
set ISAACSIM_PATH="%cd%\_build\windows-x86_64\release"
:: Isaac Sim python executable
set ISAACSIM_PYTHON_EXE="%ISAACSIM_PATH:"=%\python.bat"

Check that the simulator runs as expected:

# note: you can pass the argument "--help" to see all arguments possible.
${ISAACSIM_PATH}/isaac-sim.sh
:: note: you can pass the argument "--help" to see all arguments possible.
%ISAACSIM_PATH%\isaac-sim.bat

Check that the simulator runs from a standalone python script:

# checks that python path is set correctly
${ISAACSIM_PYTHON_EXE} -c "print('Isaac Sim configuration is now complete.')"
# checks that Isaac Sim can be launched from python
${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/isaacsim.core.api/add_cubes.py
:: checks that python path is set correctly
%ISAACSIM_PYTHON_EXE% -c "print('Isaac Sim configuration is now complete.')"
:: checks that Isaac Sim can be launched from python
%ISAACSIM_PYTHON_EXE% %ISAACSIM_PATH%\standalone_examples\api\isaacsim.core.api\add_cubes.py

Caution

If you have been using a previous version of Isaac Sim, you need to run the following command for the first time after installation to remove all the old user data and cached variables:

${ISAACSIM_PATH}/isaac-sim.sh --reset-user
%ISAACSIM_PATH%\isaac-sim.bat --reset-user

If the simulator does not run or crashes while following the above instructions, it means that something is incorrectly configured. To debug and troubleshoot, please check Isaac Sim documentation and the Isaac Sim Forums.

Installing UW Lab#

Cloning UW Lab#

Note

We recommend making a fork to contribute, but this is not required to use the framework. When using your fork, replace uw-lab with your GitHub username in the clone commands.

Clone UW Lab into your project’s workspace:

git clone git@github.com:uw-lab/UWLab.git
git clone https://github.com/uw-lab/UWLab.git

We provide the Linux helper uwlab.sh to manage installation, Python execution, tests, and documentation. From the checkout, print the supported commands with:

./uwlab.sh --help

Warning

This repository does not ship uwlab.bat. Do not assume that Isaac Lab’s Windows batch commands have UWLab equivalents; the helper instructions here use the Linux shell entry point.

Setting up a Python Environment (optional)#

Attention

This step is optional. If you are using the bundled Python with Isaac Sim, you can skip this step.

Creating a dedicated Python environment for UW Lab is strongly recommended, even though it is optional. Using a virtual environment helps:

  • Avoid conflicts with system Python or other projects installed on your machine.

  • Keep dependencies isolated, so that package upgrades or experiments in other projects do not break Isaac Sim.

  • Easily manage multiple environments for setups with different versions of dependencies.

  • Simplify reproducibility — the environment contains only the packages needed for the current project, making it easier to share setups with colleagues or run on different machines.

You can choose different package managers to create a virtual environment.

  • UV: A modern, fast, and secure package manager for Python.

  • Conda: A cross-platform, language-agnostic package manager for Python.

Once created, you can use the default Python in the virtual environment (python or python3) instead of ./uwlab.sh -p or uwlab.bat -p.

Caution

The Python version of the virtual environment must match the Python version of Isaac Sim.

  • For Isaac Sim 6.X, the required Python version is 3.12.

Using a different Python version will result in errors when running UW Lab.

To install uv, please follow the instructions here. You can create the UW Lab environment using the following commands:

# Option 1: Default environment name 'env_uwlab'
./uwlab.sh --uv  # or "./uwlab.sh -u"
# Option 2: Custom name
./uwlab.sh --uv my_env  # or "./uwlab.sh -u my_env"
# Activate environment
source ./env_uwlab/bin/activate  # or "source ./my_env/bin/activate"

Warning

UWLab does not ship a Windows batch helper. Upstream Isaac Lab’s Windows UV support is discussed in issue #3438.

To install conda, please follow the instructions here. You can create the UW Lab environment using the following commands.

We recommend using Miniconda, since it is light-weight and resource-efficient environment management system.

# Option 1: Default environment name 'env_uwlab'
./uwlab.sh --conda  # or "./uwlab.sh -c"
# Option 2: Custom name
./uwlab.sh --conda my_env  # or "./uwlab.sh -c my_env"
# Activate environment
conda activate env_uwlab  # or "conda activate my_env"
:: Option 1: Default environment name 'env_uwlab'
uwlab.bat --conda  :: or "uwlab.bat -c"
:: Option 2: Custom name
uwlab.bat --conda my_env  :: or "uwlab.bat -c my_env"
:: Activate environment
conda activate env_uwlab  # or "conda activate my_env"

Once you are in the virtual environment, you do not need to use ./uwlab.sh -p or uwlab.bat -p to run python scripts. You can use the default python executable in your environment by running python or python3. However, for the rest of the documentation, we will assume that you are using ./uwlab.sh -p or uwlab.bat -p to run python scripts.

Installation#

  • Install dependencies using apt (on Linux only):

    # these dependency are needed by robomimic which is not available on Windows
    sudo apt install cmake build-essential
    
  • Run the install command that iterates over all the extensions in source directory and installs them using pip (with --editable flag):

    ./uwlab.sh --install # or "./uwlab.sh -i"
    
    uwlab.bat --install :: or "uwlab.bat -i"
    

    By default, the above will install all the learning frameworks. These include rl_games, rsl_rl, sb3, skrl, robomimic.

    If you want to install only a specific framework, you can pass the name of the framework as an argument. For example, to install only the rl_games framework, you can run:

    ./uwlab.sh --install rl_games  # or "./uwlab.sh -i rl_games"
    
    uwlab.bat --install rl_games :: or "uwlab.bat -i rl_games"
    

    The valid options are all, rl_games, rsl_rl, sb3, skrl, robomimic, and none. If none is passed, then no learning frameworks will be installed.

Verifying the UW Lab installation#

To verify that the installation was successful, run the following command from the top of the repository:

# Option 1: Using the uwlab.sh executable
# note: this works for both the bundled python and the virtual environment
./uwlab.sh -p scripts/tutorials/00_sim/create_empty.py

# Option 2: Using python in your virtual environment
python scripts/tutorials/00_sim/create_empty.py
:: Option 1: Using the uwlab.bat executable
:: note: this works for both the bundled python and the virtual environment
uwlab.bat -p scripts\tutorials\00_sim\create_empty.py

:: Option 2: Using python in your virtual environment
python scripts\tutorials\00_sim\create_empty.py

The above command should launch the simulator and display a window with a black viewport. You can exit the script by pressing Ctrl+C on your terminal. On Windows machines, please terminate the process from Command Prompt using Ctrl+Break or Ctrl+fn+B.

Simulator with a black window.

If you see this, then the installation was successful! 🎉

Note

If you see an error ModuleNotFoundError: No module named 'isaacsim', please ensure that the virtual environment is activated and source _isaac_sim/setup_conda_env.sh has been executed (for uv as well).

Train a robot!#

You can now use UW Lab to train a robot through Reinforcement Learning! The quickest way to use UW Lab is through the predefined workflows using one of our Batteries-included robot tasks. Execute the following command to quickly train an ant to walk! We recommend adding --headless for faster training.

./uwlab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless
uwlab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless

… Or a robot dog!

./uwlab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless
uwlab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless