> 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.

# Physics Backends

Isaac Lab supports PhysX, Newton, and OvPhysX through shared asset, sensor, and
scene APIs. Choose a backend for the runtime and solvers you need, then select a
preset supported by your task. See [Backends and Presets](/isaaclab/3.0/concepts/backends-and-presets) for launch commands.

## Choose a backend

#### [IsaacSim PhysX](/isaaclab/3.0/concepts/isaac-sim-phys-x)

PhysX simulation through Isaac Sim and Omniverse Kit, with TGS and PGS
solvers.

#### [Newton](/isaaclab/3.0/concepts/newton)

Warp-native simulation without Isaac Sim. Choose from MJWarp, Kamino,
VBD, and MPM solvers.

#### [OvPhysX](/isaaclab/3.0/concepts/ov-phys-x)

PhysX simulation without Omniverse Kit, configured through USD. Install
with the `ovphysx` extra.

Follow [Installation](/isaaclab/3.0/isaac-lab/installation) for the supported installation paths
and current optional extras. Do not combine OvPhysX with a Kit runtime in the
same process.

For the general PhysX--Newton policy validation workflow, see
[/source/how-to/transfer_policies_between_physx_and_newton](/isaaclab/3.0/isaac-lab/transfer-policies-between-phys-x-and-newton). When a
checkpoint's joint or body ordering differs from the target backend, use the
[articulation ordering guide](/isaaclab/3.0/isaac-lab/transfer-policies-between-phys-x-and-newton#joint-and-body-ordering).

## IsaacSim PhysX

IsaacSim PhysX runs through Isaac Sim and Omniverse Kit. It uses the Temporal
Gauss-Seidel (TGS) solver by default, with Projective Gauss-Seidel (PGS) also
available. Configure scene settings through [PhysxCfg](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab_physx/isaaclab_physx.physics.html#isaaclab_physx.physics.PhysxCfg)
and asset properties through [schema_cfgs](/isaaclab/3.0/concepts/physics-schemas). Large or contact-rich scenes may
need additional GPU buffer capacity.

See [the IsaacSim PhysX guide ](/isaaclab/3.0/concepts/isaac-sim-phys-x) for runtime details
and [Tune the PhysX Solver](/isaaclab/3.0/isaac-lab/tune-the-phys-x-solver) for solver and buffer settings.

## Newton

Newton runs on Warp without requiring Isaac Sim. Its solvers cover different
simulation needs: MJWarp and Kamino for rigid robots, VBD for cloth and soft bodies,
and MPM for particle materials. Configure the backend with
[NewtonCfg](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab_newton/isaaclab_newton.physics.html#isaaclab_newton.physics.NewtonCfg) and select a solver through
`solver_cfg`. Native Warp arrays are available for custom simulation code.

See [the Newton guide ](/isaaclab/3.0/concepts/newton) for solver choices, tuning
guides, and native data access.

## OvPhysX

OvPhysX runs PhysX without Isaac Sim or Omniverse Kit. It supports rigid objects,
articulations, contact and motion sensors, and CUDA-based deformables, and can
pair with OVRTX for rendering. Scene-level solver settings come primarily from
USD's `PhysicsScene`; [OvPhysxCfg](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab_ov/isaaclab_ov.physics.html#isaaclab_ov.physics.OvPhysxCfg) holds additional
settings such as GPU buffer capacities. It cannot share a process with Kit.

See [the OvPhysX guide ](/isaaclab/3.0/concepts/ov-phys-x) for installation, supported
features, and their configuration limits.

## Find supported tasks and APIs

Backend support is task-specific. Use [/source/isaaclab/environments](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/isaaclab/environments.html) to
browse registered environments and presets, or ask a task for its current
choices:

```bash
uv run isaaclab train --rl_library rsl_rl \
   --task Isaac-Cartpole-Direct --help
```

The help output is the source of truth for that task's `physics=` choices.
For native solver data and views, see the [PhysX](/isaaclab/3.0/concepts/isaac-sim-phys-x#tensor-views-and-native-access),
[Newton](/isaaclab/3.0/concepts/newton#native-access), and [OvPhysX](/isaaclab/3.0/concepts/ov-phys-x#native-access)
access guides. For field-level configuration,
follow the generated API links for [PhysxCfg](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab_physx/isaaclab_physx.physics.html#isaaclab_physx.physics.PhysxCfg),
[NewtonCfg](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab_newton/isaaclab_newton.physics.html#isaaclab_newton.physics.NewtonCfg), its solver configurations, and
[OvPhysxCfg](https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/api/lab_ov/isaaclab_ov.physics.html#isaaclab_ov.physics.OvPhysxCfg).