Physics Backends#

Isaac Lab supports three physics backends behind its common asset, sensor, and scene APIs. Choose the backend that matches the runtime and solver family you need, then choose a preset that the target task exposes. See Backends and Presets for preset selection and Backend Architecture for the implementation architecture.

Backend and solver terminology#

A backend integrates a physics runtime with Isaac Lab and owns simulation lifecycle and data exchange. A solver is the numerical method that advances the physical state within that backend. Newton is therefore not synonymous with MJWarp: Newton hosts MJWarp, Kamino, VBD, MPM, and other solver paths.

A physics preset is a task-supported configuration that selects a backend and, when applicable, one of its solvers. Solver settings and behavior are not numerically portable between solver families. Expect to retune a task when changing solvers; see Solver Differences.

Choose a backend#

Backend

Runtime requirement

Maturity

Solver family

Intended use

PhysX

Isaac Sim and Omniverse Kit

Established reference

PhysX TGS by default; PGS available

Broadly validated Isaac Lab workflows and behavior-parity reference

Newton

Warp-native; Isaac Sim is not required for kit-less execution

Beta

Multiple solvers, with MJWarp as the primary validated path

Kit-less simulation and workflows that need Newton solver choices

OvPhysX

Optional ovphysx runtime extra; no Omniverse Kit

Experimental

PhysX, configured primarily through USD

Experimental kit-less PhysX workflows

Follow 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 Transfer Policies Between PhysX and Newton. When a checkpoint’s joint or body ordering differs from the target backend, use the articulation ordering guide.

PhysX#

PhysX is Isaac Lab’s established reference backend. It runs through Isaac Sim, uses the Temporal Gauss-Seidel (TGS) solver by default, and also offers the Projective Gauss-Seidel (PGS) solver. Its GPU scene capacities are static, so contact-rich or large vectorized scenes may require explicit buffer sizing. Keep TGS as the starting point for articulated robots; evaluate PGS when a stiff legacy asset behaves poorly with TGS. The generated API remains the source of truth for solver selection values and defaults.

Configure scene-level fields with PhysxCfg; the generated API reference is the authoritative field list. Per-actor physical properties remain on the USD schema configuration described in Schema Configuration Classes. For a diagnose-first workflow covering solver selection, iterations, contacts, stability, and GPU capacities, see Tune the PhysX Solver.

Newton#

Newton is a Warp-native backend that can run without Isaac Sim. Its Isaac Lab integration is beta and supports multiple solver families rather than one fixed solver. Configure the backend with NewtonCfg and select a solver configuration such as MJWarpSolverCfg.

Task and component coverage is narrower and task-specific. Check task --help and the environment catalog for current presets, the generated configuration APIs for available symbols, and the specialist guides below for solver-specific workflows and limitations.

Start with Prepare an Asset for Newton with MJWarp, then use Tune MJWarp for the primary validated solver path or Tune Kamino for the beta Kamino path. Experimental specialist guides cover VBD Solver, Using Implicit MPM, Deformables, Warp Experimental Environments, and Warp Environment Migration Guide. Backend developers can also read Extending Newton Solvers.

OvPhysX#

OvPhysX is an experimental kit-less PhysX path. It drives PhysX without Omniverse Kit, while scene-level solver settings primarily come from the USD PhysicsScene prim. Only settings that are not represented in USD live on OvPhysxCfg; consult its generated API reference for those fields.

Feature coverage is still evolving. See the OvPhysX specialist page for current limitations and runtime constraints.

Find supported tasks and APIs#

Backend support is task-specific. Use Environments to browse registered environments and presets, or ask a task for its current choices:

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 Native Physics API Access. For field-level configuration, follow the generated API links for PhysxCfg, NewtonCfg, its solver configurations, and OvPhysxCfg.