> This page is for version Release 3.0 (default).
> For other versions, use one of these documentation indexes:
> - Release 3.0 (default): https://docs.nvidia.com/isaaclab/3.0/llms.txt
> - Release 2.3: https://docs.nvidia.com/isaaclab/2.3/llms.txt
> - Release 2.2: https://docs.nvidia.com/isaaclab/2.2/llms.txt
> - Release 2.1: https://docs.nvidia.com/isaaclab/2.1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/isaaclab/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/isaaclab/_mcp/server.

# How-to Guides

Find step-by-step guides for building with Isaac Lab, grouped by topic.

## Simulation Fundamentals

* [Creating an empty scene ](/source/how-to/create_empty) — Launch an empty simulation and learn the core startup sequence.
* [Spawning prims into the scene ](/source/how-to/spawn_prims) — Add lights, ground planes, and primitive shapes to a simulation stage.
* [Deep-dive into launching the simulation ](/source/how-to/launch_app) — Configure and launch simulation applications from Python and the command line.

## Assets

* [Interacting with a rigid object ](/source/how-to/run_rigid_object) — Create, reset, and command a cone; includes the runnable run_rigid_object.py example.
* [Interacting with an articulation ](/source/how-to/run_articulation) — Work with joint state, commands, and articulation data.
* [Interacting with a deformable object ](/source/how-to/run_deformable_object) — Spawn and manipulate deformable bodies in a scene.
* [Interacting with a surface gripper ](/source/how-to/run_surface_gripper) — Attach and release rigid objects with a surface gripper.
* [Importing a new asset ](/source/how-to/import_new_asset) — Convert URDF, MJCF, or mesh assets into USD for use in Isaac Lab.
* [Robot and articulation configuration ](/source/how-to/write_articulation_cfg) — Reuse or author a robot configuration, with a Jetbot/Dofbot worked example.
* [Making a physics prim fixed ](/source/how-to/make_fixed_prim) — Convert a floating asset into a fixed object in the simulation.
* [Spawning multiple assets ](/source/how-to/multi_asset_spawning) — Batch rigid objects and vary asset configurations across environments.
* [Managing asset downloads ](/source/how-to/manage_asset_downloads) — Cache remote assets, migrate Nucleus setups, and select a regional asset service.
* [Preparing an asset for Newton with MJWarp ](/source/how-to/prepare_asset_for_newton) — Prepare an asset and task to run with the Newton MJWarp physics preset.
* [Exploring MPM materials and coupling ](/source/how-to/mpm_tutorials) — Compare material response, fluid surface reconstruction, and robot--particle coupling.

## Scenes and Cloning

* [Using the interactive scene ](/source/how-to/create_scene) — Compose assets and sensors with the higher-level interactive scene interface.
* [Cloning environments ](/source/how-to/cloning) — Choose cloning strategies, build heterogeneous scenes, and filter collisions.

## Environments and Training

* [Creating a manager-based base environment ](/source/how-to/create_manager_base_env) — Build a non-RL environment from reusable manager terms.
* [Creating a manager-based RL environment ](/source/how-to/create_manager_rl_env) — Add rewards, terminations, curricula, and commands for reinforcement learning.
* [Creating a direct workflow RL environment ](/source/how-to/create_direct_rl_env) — Implement an RL task with direct control over the environment loop.
* [Registering an environment ](/source/how-to/register_rl_env_gym) — Register an Isaac Lab task with Gymnasium and expose its configurations.
* [Training with an RL agent ](/source/how-to/run_rl_training) — Launch training and inference with a supported reinforcement learning library.
* [Configuring an RL agent ](/source/how-to/configuring_rl_training) — Customize agent settings and training hyperparameters.
* [Modifying an existing direct RL environment ](/source/how-to/modify_direct_rl_env) — Extend and adjust a direct workflow task without rebuilding it from scratch.
* [Policy inference in a USD environment ](/source/how-to/policy_inference_in_usd) — Run a trained policy against an environment defined in a USD stage.
* [Wrapping environments ](/source/how-to/wrap_rl_env) — Adapt Isaac Lab environments to external reinforcement learning interfaces.
* [Adding your own learning library ](/source/how-to/add_own_library) — Integrate an additional learning framework with Isaac Lab tasks.
* [Running scripted state machines ](/source/how-to/run_state_machines) — Drive environments with deterministic state-machine policies.
* [Curriculum utilities ](/source/how-to/curriculums) — Change environment parameters dynamically during training.
* [Transferring policies between PhysX and Newton ](/source/how-to/transfer_policies_between_physx_and_newton) — Validate and evaluate policy checkpoints across the PhysX and Newton backends.

## Sensors, Cameras, and Rendering

* [Adding sensors on a robot ](/source/how-to/add_sensors_on_robot) — Add camera, ray-caster, and contact sensors to an environment.
* [Saving rendered images and 3D re-projection ](/source/how-to/save_camera_output) — Save camera outputs and reconstruct point clouds from depth images.
* [Select and configure a Renderer ](/source/how-to/configure_rendering) — Choose Newton Warp, OVRTX, or legacy Isaac RTX and tune the selected renderer.
* [Streaming a camera view in a visualizer ](/source/how-to/visualizer_streaming_camera_view) — Show tiled ground-truth camera feeds from many environments in a live visualizer panel.
* [Capturing sensor frames during training ](/source/how-to/capture_sensor_frames) — Record selected sensor outputs from a running training job.
* [Recording video ](/source/how-to/record_video) — Record mp4 clips from a visualizer or scene sensor, from the CLI or an environment config.
* [Creating visualization markers ](/source/how-to/create_visualization_markers) — Draw frames, arrows, and custom shapes over the scene to debug per-environment state.

## Controllers

* [Using a task-space controller ](/source/how-to/run_diff_ik) — Control a robot end effector with differential inverse kinematics.
* [Using an operational space controller ](/source/how-to/run_osc) — Apply operational-space control to a robot manipulator.

## Simulation and Data

* [Reproducibility and determinism ](/source/how-to/reproducibility) — Seed runs and request deterministic physics, rendering, and training.
* [Working with ProxyArray ](/source/how-to/proxy_array) — Consume asset and sensor data through Torch and Warp while keeping retained views valid.
* [Simulation performance ](/source/how-to/simulation_performance) — Diagnose bottlenecks and improve simulation throughput.
* [Tuning the PhysX solver ](/source/how-to/solver_tuning_physx) — Tune timestep, iterations, and contacts to diagnose PhysX solver stability.
* [Tuning the MJWarp solver ](/source/how-to/solver_tuning_mjwarp) — Tune Newton MuJoCo-Warp contact capacity, timestep, friction, and convergence.
* [Tuning the Kamino solver ](/source/how-to/solver_tuning_kamino) — Tune Newton Kamino PADMM or DVI convergence, stabilization, timestep, and substeps.
* [Tuning the VBD solver ](/source/how-to/solver_tuning_vbd) — Tune Newton Vertex Block Descent (VBD) materials, contacts, cloth, soft bodies, and proxy or ADMM coupling.
* [Tuning the MPM solver ](/source/how-to/solver_tuning_mpm) — Tune Newton Material Point Method (MPM) resolution, timestep, convergence, and material parameters.

## Teleoperation

* [Setting up Isaac Capture with CloudXR ](/source/how-to/cloudxr_teleoperation) — Connect XR devices through CloudXR for immersive teleoperation.
* [Setting up Haply teleoperation ](/source/how-to/haply_teleoperation) — Use Haply devices for robot control with directional force feedback.

## Tools and Workflows

* [Recording animations of simulations ](/source/how-to/record_animation) — Capture simulation state and export an animation.
* [Mastering Omniverse for robotics ](/source/how-to/master_omniverse) — Find Omniverse workflows and resources relevant to Isaac Lab.
* [Profiling Isaac Lab with Nsight Systems ](/source/how-to/profile_with_nsys) — Capture and inspect runtime traces with NVIDIA Nsight Systems.