Repolode
jrouwe

jrouwe/JoltPhysics

A multi-core friendly C++ rigid body physics and collision detection library for games and VR applications.

Open-source alternative to:HavokPhysX

Stars
11,770
Forks
989
Open issues
13
Last commit
yesterday

What is it?

Jolt Physics is a C++ library for simulating rigid bodies and detecting collisions. It is aimed at games and VR applications, and is designed so that physics data can be accessed from background threads while the main simulation runs, such as loading bodies in the background or running collision queries in parallel with a simulation step.

The library covers a broad set of physics primitives: shapes including spheres, boxes, capsules, convex hulls, meshes and height-field terrain; constraints such as hinges, sliders, springs, gears and 6 DOF joints; plus ragdolls, wheeled and tracked vehicles, character controllers, soft bodies, GPU-based hair simulation and buoyancy. The simulation can run deterministically, so a remote client can be kept in sync by replicating only the inputs. It builds with Visual Studio, Clang or GCC, depends only on the C++ standard library, and does not use RTTI or exceptions.

Key features

  • 01Rigid body simulation with continuous collision detection across many shape types.
  • 02Constraints including hinge, slider, cone, distance, gear, pulley and 6 DOF, with motors.
  • 03Ragdoll support with hard and soft keying to animated poses.
  • 04Character controllers, wheeled and tracked vehicles, and soft body simulation.
  • 05Deterministic simulation that can be replicated by syncing inputs only.
  • 06Supports Windows, Linux, macOS, Android, iOS, FreeBSD and WebAssembly via a separate project.

Use cases

  • Adding rigid body physics and collision detection to a C++ game engine.
  • Building VR interactions that need physically plausible objects and constraints.
  • Creating networked games that rely on deterministic simulation with input replication.
  • Simulating vehicles, ragdolls or character movement in a game world.

Quick start

  1. 1

    Read the HelloWorld example to get started

  2. 2

    Build the library using the Build instructions

  3. 3

    Browse the Samples application to learn features

Things to know

  • Requires C++17 with Visual Studio 2022+, Clang 16+ or GCC 12+.
  • Some platforms such as Platform Blue need your own build environment and a file provided under NDA.

Topics

FAQ

What is JoltPhysics?
A multi-core friendly C++ rigid body physics and collision detection library for games and VR applications. Jolt Physics is a C++ library for simulating rigid bodies and detecting collisions. It is aimed at games and VR applications, and is designed so that physics data can be accessed from background threads while the main simulation runs, such as loading bodies in the background or running collision queries in parallel with a simulation step.
Is JoltPhysics free to use? What license does it have?
JoltPhysics is open source under the MIT license. Check the license terms before using it in commercial products.
Is JoltPhysics still maintained?
Actively maintained. The last commit to JoltPhysics was on Oct 18, 2026.
What can I use JoltPhysics for?
Adding rigid body physics and collision detection to a C++ game engine. Building VR interactions that need physically plausible objects and constraints. Creating networked games that rely on deterministic simulation with input replication. Simulating vehicles, ragdolls or character movement in a game world.
How do I install JoltPhysics?
Read the HelloWorld example to get started Build the library using the Build instructions Browse the Samples application to learn features
Where can I get JoltPhysics?
The source code and installation instructions are on GitHub: https://github.com/jrouwe/JoltPhysics

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects