[Skip to main content](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#main-content)

Back to top Ctrl+K

 [Getting Started With Isaac Lab](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/index.html.md)

Choose version

Search Ctrl+K

- [YouTube](https://www.youtube.com/@NVIDIAOmniverse 'YouTube')
- [Discord](https://discord.gg/nvidiaomniverse 'Discord'.md)
- [Survey](https://surveys.hotjar.com/98510484-7ad7-4ddc-bfc4-1b7663827216.md?utm_source=getting-started-with-isaac-lab 'Survey')
- [Home](https://docs.nvidia.com/learning/physical-ai/ 'Home')

Search Ctrl+K

 [Getting Started With Isaac Lab](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/index.html.md)

Choose version

- [YouTube](https://www.youtube.com/@NVIDIAOmniverse 'YouTube')
- [Discord](https://discord.gg/nvidiaomniverse 'Discord'.md)
- [Survey](https://surveys.hotjar.com/98510484-7ad7-4ddc-bfc4-1b7663827216.md?utm_source=getting-started-with-isaac-lab 'Survey')
- [Home](https://docs.nvidia.com/learning/physical-ai/ 'Home')

Table of Contents

Contents

- [Robot Learning Fundamentals](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/index.html.md)

 - [Motivation and Definition](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/01-motivation-and-definition.html.md)
 - [Problem Specification](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/02-problem-specification.html.md)
 - [Forms of Learning](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/03-forms-of-learning.html.md)
 - [Reinforcement Learning](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/04-reinforcement-learning.html.md)
 - [Proximal Policy Optimization](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/05-proximal-policy-optimization.html.md)
 - [Reward Design and Evaluation](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/06-reward-design-and-policy-evaluation.html.md)
 - [Policy Distillation](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/07-policy-distillation.html.md)
 - [Simulation to Reality](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/08-simulation-to-reality.html.md)
 - [Robot Learning Workflows](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/robot-learning-fundamentals/09-robot-learning-workflows.html.md)

- [Isaac Lab Basics](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/index.html.md)

 - [The Isaac Platform](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/01-the-isaac-platform.html.md)
 - [Project Generation](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/02-isaac-lab-projects.html.md)
 - [Development Workflow](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/03-development-workflow.html.md)
 - [The Isaac Lab CLI](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/04-isaac-lab-cli.html.md)
 - [Manager-Based Workflows](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#)
 - [The Cartpole Example](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/06-isaac-lab-cartpole.html.md)
 - [Cartpole Training](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/07-cartpole-training.html.md)

- [Train a Robot Arm](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/train-a-robot-arm/index.html.md)

 - [Project Setup](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/train-a-robot-arm/01-project-setup.html.md)
 - [SO-101 Robot](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/train-a-robot-arm/02-so101-robot.html.md)
 - [Vial and Rack Scene](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/train-a-robot-arm/03-vial-and-rack.html.md)
 - [Running Simple Agents](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/train-a-robot-arm/04-simple-agents.html.md)
 - [Train a Teacher Policy](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/train-a-robot-arm/05-teacher-policy.html.md)
 - [Distill a Student Policy](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/train-a-robot-arm/06-distilled-policy.html.md)
 - [Managing Experiments](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/train-a-robot-arm/07-managing-experiments.html.md)

- [Transfer Policies From Simulation to Reality](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/index.html.md)

 - [Overview](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/index.html.md)
 - [The Successes of Reinforcement Learning](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/01-reinforcement-learning/index.html.md)

 - [Reinforcement Learning](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/01-reinforcement-learning/index.html.md)
 - [The Challenges of Reinforcement Learning](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/01-reinforcement-learning/01-the-challenges-of-reinforcement-learning.html.md)
 - [Simulation: A Game-Changer](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/01-reinforcement-learning/02-simulation.html.md)

 - [What Is the Reality Gap?](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/02-the-reality-gap/index.html.md)

 - [The Reality Gap](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/02-the-reality-gap/index.html.md)
 - [Visualizing the Reality Gap](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/02-the-reality-gap/01-visualizing-the-reality-gap.html.md)

 - [Bridging the Gap: Simulation Enhancement](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/03-bridging-the-gap-simulation-enhancement/index.html.md)

 - [Domain Randomization](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/03-bridging-the-gap-simulation-enhancement/index.html.md)
 - [Visual Domain Randomization](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/03-bridging-the-gap-simulation-enhancement/01-visual-domain-randomization.html.md)
 - [Depth Camera Randomization](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/03-bridging-the-gap-simulation-enhancement/02-depth-camera-randomization.html.md)
 - [Point Cloud Perturbations](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/03-bridging-the-gap-simulation-enhancement/03-point-cloud-perturbations.html.md)

 - [Bridging the Gap: Real-World Data Integration](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/04-bridging-the-gap-real-world-data-integration/index.html.md)

 - [System Identification](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/04-bridging-the-gap-real-world-data-integration/index.html.md)
 - [Actuator Modeling](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/04-bridging-the-gap-real-world-data-integration/01-actuator-modeling.html.md)
 - [Digital Twins](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/04-bridging-the-gap-real-world-data-integration/02-digital-twins.html.md)
 - [Neural Rendering](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/04-bridging-the-gap-real-world-data-integration/03-neural-rendering.html.md)
 - [World Models](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/04-bridging-the-gap-real-world-data-integration/04-world-models.html.md)

 - [Regularization](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/05-bridging-the-gap-policy-robustness/index.html.md)

 - [Regularization](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/05-bridging-the-gap-policy-robustness/index.html.md)
 - [Leveraging Privileged Information](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/05-bridging-the-gap-policy-robustness/01-leveraging-privileged-information.html.md)

 - [Considerations When Bridging the Reality Gap](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/06-conclusion/index.html.md)

 - [Considerations](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/06-conclusion/index.html.md)
 - [Tips for Sim-to-Real](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/06-conclusion/01-tips-for-sim-to-real.html.md)
 - [Review](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/06-conclusion/02-review.html.md)
 - [Quiz](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/transfer-policies-from-simulation-to-reality/06-conclusion/03-quiz.html.md)

Resources

[Physical AI Learning Hub](https://docs.nvidia.com/learning/physical-ai/) [Developer Forums](https://forums.developer.nvidia.com/c/omniverse/300) [Community Discord](https://discord.gg/nvidiaomniverse.md)

- [Home](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/index.html.md)
- [Isaac Lab Basics](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/index.html.md)
- Manager-Based Workflows

# Manager-Based Workflows[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#manager-based-workflows 'Link to this heading')

In the project you generated, the cartpole task is described in `env_cfg.py`. However, a configuration file is only a description: it never steps the simulation itself. Isaac Lab reads the configuration, builds an environment, and hands each job (applying actions, reading observations, scoring the task) to a helper object called a _manager_. This lesson shows how those pieces fit together, following the code from [Isaac Lab Project Generation](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/02-isaac-lab-projects.html.md) all the way to a single call to `env.step(actions)`.

[Configuration defines what work to do, the environment schedules when managers run, and managers execute their configured terms. In the reward example, RewardManager combines the weighted alive and pole_pos term results into a reward for each environment.](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/_images/manager-based-config-to-runtime.svg)

The configuration describes the work, the environment schedules it, and the managers execute the configured terms and handle their results.[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#id1 'Link to this image')

Use the `isaac-lab-workspace/isaac_lab_tutorial` project you generated earlier, and open `env_cfg.py` as you read. You only need to look at the file; you will run the task in the following lessons.

## From Configuration to Runtime[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#from-configuration-to-runtime 'Link to this heading')

Find `BalanceEnvCfg`, the class that inherits from [`ManagerBasedRLEnvCfg`](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.envs.html#isaaclab.envs.ManagerBasedRLEnvCfg). Its fields assemble the scene, actions, observations, events, rewards, and terminations. Its simulation settings also select `BalancePhysicsCfg` and set the physics time step and the control _decimation_ (how many physics steps happen for each control step).

Think of these classes as a recipe. When Isaac Lab constructs a [`ManagerBasedRLEnv`](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.envs.html#isaaclab.envs.ManagerBasedRLEnv) object, it follows the recipe: it builds the scene, then creates one manager for each job the task needs.

The `scene = BalanceSceneCfg(...)` field creates an [`InteractiveScene`](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.scene.html#isaaclab.scene.InteractiveScene), which holds the cartpole and its surroundings. Managers look up named assets in this scene. For example, a term can use the [`SceneEntityCfg`](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.managers.html#isaaclab.managers.SceneEntityCfg) to pick out the cart joint from the robot asset. The configuration below selects the joint that connects the slider to the cart:

```
SceneEntityCfg("robot", joint_names=["slider_to_cart"])
```

The action, observation, event, reward, and termination fields each configure one manager. A helpful way to remember the split: the configuration says _what_ work to do, and the environment decides _when_ to do it.

## Terms Are the Smallest Pieces[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#terms-are-the-smallest-pieces 'Link to this heading')

Each manager is built from _terms_. A term is one small, named piece of the task: a single function (or callable class) plus the parameters it needs. Here is where to find the terms in the cartpole configuration:

- **Actions:** Open `ActionsCfg` and find the term that targets the cart joint. The [`ActionManager`](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.managers.html#isaaclab.managers.ActionManager) interprets the incoming action and applies it as a joint effort (a force on the cart).

- **Observations:** Find the `policy` group in `ObservationsCfg`. Its terms read joint positions and velocities, which become the policy’s next input.

- **Events:** `EventCfg` contains reset terms that vary the cart and pole’s initial states, so the policy does not always start from the same pose.

- **Rewards:** `RewardsCfg` combines weighted terms, such as a survival reward and a pole-angle reward.

- **Terminations:** `TerminationsCfg` checks the time limit and the cart bounds.

You do not always have to write the functions yourself. The generated `balance/mdp/rewards.py` holds the task-specific pole-angle reward, while the other terms reuse functions that ship with Isaac Lab.

### How Managers Handle Terms[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#how-managers-handle-terms 'Link to this heading')

Each term has a name in its configuration class. For example, these two reward terms are named `alive` and `pole_pos`:

```
 1@configclass
 2class RewardsCfg:
 3    alive = RewardTermCfg(func=mdp.is_alive, weight=1.0)
 4    pole_pos = RewardTermCfg(
 5        func=mdp.joint_pos_target_l2,
 6        weight=-1.0,
 7        params={
 8            "asset_cfg": SceneEntityCfg(
 9                "robot", joint_names=["cart_to_pole"]
10            ),
11            "target": 0.0,
12        },
13    )
```

This excerpt uses the full `RewardTermCfg` name; the generated file may import it as `RewTerm` as a common shorthand. The `func` field identifies the callable (something in Python that you can call, like a function or class with `__call__` implemented), `params` supplies its keyword arguments, and `weight` controls its contribution to the total reward. The term function receives the environment as its first argument, so it can read the selected asset from `env.scene`.

Managers handle their terms through three stages:

1. **Prepare:** Parse the configuration, validate the term definitions, and resolve scene entity names into joint or body selections. Construct any callable class terms with their configuration and environment.

2. **Execute:** When the environment requests the manager’s work, call the relevant terms with the environment and configured parameters. Event terms, for example, run for the requested mode, such as reset or interval.

3. **Reset:** Clear the relevant manager buffers and reset stateful terms for the environments whose episodes ended. Other environments can continue using their existing state.

A term can be an ordinary function or a callable class. Class terms can retain state between calls; they inherit from [`ManagerTermBase`](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.managers.html#isaaclab.managers.ManagerTermBase) and implement the methods their manager requires, including reset behavior when needed.

Each manager handles its term results according to its job:

- `RewardManager` sums weighted contributions into a reward for each environment.

- `TerminationManager` combines Boolean conditions with logical OR, while keeping terminal states and timeouts distinguishable.

- `ObservationManager` organizes signals into groups and can concatenate the terms in each group into a tensor.

- `ActionManager` splits the action vector among its terms, then processes and applies their controls.

- `EventManager` executes operations for the requested event mode.

The environment schedules the managers; each manager executes its configured terms and handles their results.

### Base and RL Environments[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#base-and-rl-environments 'Link to this heading')

[`ManagerBasedEnv`](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.envs.html#isaaclab.envs.ManagerBasedEnv) contains the scene, action, observation, and event managers. Its reinforcement learning subclass, `ManagerBasedRLEnv`, adds reward and termination managers, and can also use command and curriculum managers:

- A [_command_ manager](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.managers.html#isaaclab.managers.CommandManager) samples a goal for the robot to track.

- A [_curriculum_ manager](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.managers.html#isaaclab.managers.CurriculumManager) gradually changes the difficulty of the task.

The cartpole task needs neither: its upright target is fixed, and its difficulty does not change during training. Tasks such as walking to a target can use them. [The manager API](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.managers.html#module-isaaclab.managers) lists every manager and term configuration class.

[An RL agent exchanges actions and step results with ManagerBasedRLEnv. The environment contains action, observation, command, reward, termination, curriculum, event, and recorder managers, and connects to the interactive scene and simulation.](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/_images/manager-based-rl-environment-architecture.svg)

The manager-based RL environment connects the agent interface and task managers to the interactive scene and simulation.[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#id2 'Link to this image')

## Follow One Control Step[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#follow-one-control-step 'Link to this heading')

When the agent calls `env.step(actions)`, the environment runs one control step across all of the parallel cartpole environments at once:

1. `ActionManager` processes the incoming action once for the control step. It applies the resulting control before each physics substep.

2. The selected physics backend advances the scene. The cartpole configuration uses a decimation of two, so one control step advances two physics steps.

3. The RL environment evaluates the reward and termination terms. An environment that reaches its time limit or cart bound ends its episode, and reset events prepare its next initial state.

4. [`ObservationManager`](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.managers.html#isaaclab.managers.ObservationManager) supplies the next policy observation. The step also returns the reward, `terminated`, `truncated`, and an information dictionary.

[A call to env.step processes the action, applies it across physics substeps, evaluates terminations and rewards, resets affected environments, updates commands and events, computes fresh observations, and returns the step results.](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/_images/manager-based-env-step-flow.svg)

One manager-based environment step, including the physics substeps and the reset path for environments that have ended an episode.[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#id3 'Link to this image')

To learn more about any detail of this sequence, see the [`ManagerBasedRLEnv.step` API reference](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.envs.html#isaaclab.envs.ManagerBasedRLEnv.step).

Every term works on a _batch_ of environments, so one `step()` call can advance many independent cartpoles. One cartpole can reset while the others keep going. Notice also that the action is processed once per control step but applied before every physics step. That is why `decimation` matters: it sets how long each action is held.

## Default Configuration and Overrides[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#default-configuration-and-overrides 'Link to this heading')

You can run a task without choosing every setting yourself. The task’s configuration gives you a starting point, including a default physics backend. In the generated cartpole project, look for this line in `BalanceEnvCfg`’s `__post_init__()` method:

```
1self.sim.physics = BalancePhysicsCfg()
```

`BalancePhysicsCfg` lists the task’s physics choices and sets Newton with MJWarp as the default. The key line is `default = newton_mjwarp`. Here is an abbreviated view of the configuration, with the backend settings omitted so you can focus on how the default is selected:

```
1@configclass
2class BalancePhysicsCfg(PresetCfg):
3    newton_mjwarp: NewtonCfg  = NewtonCfg(...)
4    ovphysx      : OvPhysxCfg = OvPhysxCfg(...)
5    default = newton_mjwarp
```

`newton_mjwarp` names a configured backend option. Assigning that configuration to `default` makes it the choice Isaac Lab uses when you do not supply a physics selector. (The ellipses `...` above are placeholders.)

If you run the command below, Isaac Lab uses that default automatically:

```
uv run isaaclab random_agent               \
  --task IsaacLabTutorial-Balance-Cartpole \
  --visualizer none
```

To try another backend, add a physics selector to your command. For example, this command runs the same task with OV PhysX:

```
uv run --extra ovphysx isaaclab random_agent \
  --task IsaacLabTutorial-Balance-Cartpole   \
  --visualizer none                                 \
  physics=ovphysx
```

There are two parts to that change: `--extra ovphysx` makes the integration available, and `physics=ovphysx` tells the task to use it for this run. You can try a different backend this way without editing `env_cfg.py`. Each task has its own available choices. To see yours, use the help or preset listing introduced in [The Isaac Lab CLI](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/04-isaac-lab-cli.html.md).

Before building the environment, Isaac Lab settles on the configuration for your run: the task’s default, with any overrides you supplied. It then creates the matching `PhysicsManager` and the backend’s versions of the assets and sensors. Once the scene is ready, the task managers resolve their terms against it—for example, finding the cart joint that an action term will control.

## Review[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#review 'Link to this heading')

### Check Your Understanding[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#check-your-understanding 'Link to this heading')

How do you calculate the control interval from the physics time step and decimation?

Answer

Multiply the physics time step by decimation. For example, a physics time step of 1/120 second and decimation of 2 give a control interval of 1/60 second.

### Apply What You Learned[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#apply-what-you-learned 'Link to this heading')

How would you trace one cartpole control step through the configured managers and physics substeps? Distinguish action processing from application, identify the manager operations, and calculate the control interval from the configuration.

Agent Tutor Prompt

Copy this prompt and include your answer:

> Review my answer to this question: How would you trace one cartpole control step through the configured managers and physics substeps? Distinguish action processing from application, identify the manager operations, and calculate the control interval from the configuration.
> 
> My answer: \[paste your answer here\].
> 
> Check my reasoning about action processing and application, observations, rewards, resets, endings, and episode duration. Ask for missing context rather than assuming it. Identify what I explained well, point out one gap or misconception, and ask a follow-up question that helps me improve my answer. Let me revise it before supplying a complete answer.

### Key Takeaways[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#key-takeaways 'Link to this heading')

- Configuration classes declare task terms; managers execute them.

- A control step may include several physics substeps.

- The physics backend advances the scene; rendering produces images when needed.

### Resources[#](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#resources 'Link to this heading')

- [Isaac Lab Managers API](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab/isaaclab.managers.html#module-isaaclab.managers) — API reference for manager classes, term configurations, and scene entity selection.

- [Creating a Manager-Based Base Environment](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/how-to/create_manager_base_env.html) — A guide to configuring a scene, actions, observations, and events in a manager-based environment.

- [Creating a Manager-Based RL Environment](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/how-to/create_manager_rl_env.html) — A guide to adding rewards, termination conditions, and other reinforcement learning components to a manager-based environment.

- [Backend Architecture](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/concepts/backends_and_presets.html) — An explanation of backend selection, common simulation interfaces, and the physics manager lifecycle.

[previous\\ \\ The Isaac Lab CLI](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/04-isaac-lab-cli.html 'previous page') [next\\ \\ The Cartpole Example](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/06-isaac-lab-cartpole.html 'next page')

On this page

- [From Configuration to Runtime](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#from-configuration-to-runtime)
- [Terms Are the Smallest Pieces](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#terms-are-the-smallest-pieces)
 - [How Managers Handle Terms](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#how-managers-handle-terms)
 - [Base and RL Environments](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#base-and-rl-environments)
- [Follow One Control Step](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#follow-one-control-step)
- [Default Configuration and Overrides](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#default-configuration-and-overrides)
- [Review](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#review)
 - [Check Your Understanding](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#check-your-understanding)
 - [Apply What You Learned](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#apply-what-you-learned)
 - [Key Takeaways](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#key-takeaways)
 - [Resources](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md#resources)

[View this page as Markdown](https://docs.nvidia.com/learning/physical-ai/getting-started-with-isaac-lab/latest/isaac-lab-basics/05-manager-based-workflows.html.md 'View this page as clean Markdown for LLMs and AI agents')

 [NVIDIA](https://www.nvidia.com)

[Privacy Policy](https://www.nvidia.com/en-us/about-nvidia/privacy-policy.md/) | [Manage My Privacy](https://www.nvidia.com/en-us/about-nvidia/privacy-center.md/) | [Do Not Sell or Share My Data](https://www.nvidia.com/en-us/preferences/start.md/) | [Terms of Service](https://www.nvidia.com/en-us/about-nvidia/terms-of-service.md/) | [Accessibility](https://www.nvidia.com/en-us/about-nvidia/accessibility.md/) | [Corporate Policies](https://www.nvidia.com/en-us/about-nvidia/company-policies.md/) | [Product Security](https://www.nvidia.com/en-us/product-security.md/) | [Contact](https://www.nvidia.com/en-us/contact/)

Copyright © 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.