Skip to navigation

Physics Backends

View as Markdown

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

BackendRuntime requirementMaturitySolver familyIntended use
PhysXIsaac Sim and Omniverse KitEstablished referencePhysX TGS by default; PGS availableBroadly validated Isaac Lab workflows and behavior-parity reference
NewtonWarp-native; Isaac Sim is not required for kit-less executionBetaMultiple solvers, with MJWarp as the primary validated pathKit-less simulation and workflows that need Newton solver choices
OvPhysXOptional ovphysx runtime extra; no Omniverse KitExperimentalPhysX, configured primarily through USDExperimental 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 /source/how-to/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 ~isaaclab_physx.physics.PhysxCfg; the generated API reference is the authoritative field list. Per-actor physical properties remain on the USD schema configuration described in /source/concepts/schema_cfgs. For a diagnose-first workflow covering solver selection, iterations, contacts, stability, and GPU capacities, see Tune the PhysX Solver. For how the backend starts Isaac Sim, owns the simulation lifecycle, and exposes PhysX tensor views, see the PhysX backend page .

Newton

Newton is a Warp-native backend that can run without Isaac Sim. Its Isaac Lab integration is beta, with MJWarp as the primary validated solver path. See the Newton backend page for solver options, task support, and links to Newton’s own solver documentation.

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 ~isaaclab_ov.physics.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 https://isaac-sim.github.io/IsaacLab/release/3.0.0/source/setup/environments.html 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 /source/concepts/native-physics-api/index. For field-level configuration, follow the generated API links for ~isaaclab_physx.physics.PhysxCfg, ~isaaclab_newton.physics.NewtonCfg, its solver configurations, and ~isaaclab_ov.physics.OvPhysxCfg.