[GitHub Code for this Chapter: chapter2_3 branch](https://github.com/Lab-of-AI-and-Robotics/IsaacLab-Tutorial/tree/chapter2_3)

Objective

To establish a custom project structure for our Go2 robot using the built-in template generator. This chapter will introduce the fundamental development paradigms within Isaac Lab—Manager-Based and Direct—and justify our selection of the Manager-Based approach for its modularity and scalability.

2.1. The Template Project Generator

Isaac Lab provides a command-line tool to automatically generate the complex folder structure and boilerplate code required for a new project. This ensures consistency and allows us to focus immediately on the logic of our task.

Step 1: Creating the Project

In your terminal, from the root of the isaaclab repository, execute the following script:

./isaaclab.sh --new

You will be guided through a series of prompts. Please configure your project as follows, using the provided screenshots as a reference:

  1. Task type: Select External. This is the recommended approach as it creates a self-contained project in its own repository, decoupled from the main Isaac Lab source code.

    image.png

  2. Project path: Enter the absolute path to the directory where you want to store your projects (e.g., /home/yoda/Projects/personal_tutorial_isaaclab).

  3. Project name: Enter manager_based_go2. We will use this name throughout the tutorial.

    image.png

  4. Isaac Lab workflow: Select Manager-based | single-agent (you can additionally select Direct | single-agent). The generator displays a useful table comparing the features of each workflow. We are choosing the modular, single-agent manager-based approach.

    image.png

  5. RL library: Select rsl_rl. Again, a comparison table is shown. rsl_rl is a robust and high-performance library that we will use for training.

    image.png

After the final prompt, the script will generate all the necessary files and initialize a new git repository for your project. In my case, the generator will create a new folder at /home/yoda/Projects/personal_tutorial_isaaclab/test.

image.png

Step 2: Installing the New Project

Your new project is an installable Python package. This allows Isaac Lab to discover and run the tasks you define within it. Navigate to your new project's root directory and install it in editable mode (-e).

cd /home/yoda/Projects/personal_tutorial_isaaclab/test
python -m pip install -e source/test/

Screenshot from 2025-08-30 00-10-46.png