explaingit

jrouwe/joltphysics

10,333C++Audience · developerComplexity · 4/5Setup · hard

TLDR

Jolt Physics is a C++ library that simulates how objects move, collide, and interact in games and VR, built to run efficiently across many processor cores simultaneously.

Mindmap

mindmap
  root((Jolt Physics))
    What it does
      Rigid body sim
      Soft body sim
      Hair strand GPU sim
      Water buoyancy
    Use Cases
      Game physics
      VR applications
      Multiplayer sync
      Vehicle simulation
    Tech Stack
      C++ SIMD
      WebAssembly
      ARM and x86
    Audience
      Game developers
      Engine programmers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add realistic physics to a game engine with rigid bodies, joints, vehicles, and collision detection.

USE CASE 2

Run deterministic multiplayer physics that syncs by sending only player inputs instead of full world state.

USE CASE 3

Simulate cloth, hair strands, or buoyancy effects in a VR or game environment.

USE CASE 4

Load and unload game level content on background threads without pausing the physics simulation.

Tech stack

C++SIMDWebAssemblyARMx86

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a C++ build environment with CMake, GPU hair simulation needs additional GPU setup.

In plain English

Jolt Physics is a physics simulation library written in C++ for use in games and VR applications. It handles the calculations that make virtual objects behave like they have mass and volume: things bouncing off each other, falling under gravity, spinning when hit, or holding together at joints. It has been used in commercial titles including Horizon Forbidden West and Death Stranding 2. The library was built with a specific problem in mind: modern games spread their work across many processor cores, and most existing physics engines were not designed for that. Jolt lets collision queries run in parallel with the main physics step, lets content be loaded and unloaded on background threads without stopping the simulation, and avoids accidental performance spikes by not automatically waking up nearby objects when something changes. Simulations are also deterministic, meaning two computers running the same inputs will produce the exact same results, which makes it feasible to synchronize multiplayer games by sending only player inputs rather than full world state. The feature list covers a wide range of what games typically need. On the rigid body side, it supports shapes ranging from simple spheres and boxes to convex hulls, triangle meshes, and height-field terrain. Constraints let you connect bodies together with hinges, sliders, gears, pulleys, springs, and other joint types. There is dedicated support for animated ragdolls, capsule-based characters (both rigid-body and virtual variants), and wheeled, tracked, and motorcycle vehicles. Beyond rigid bodies, the library includes soft body simulation for things like cloth or a balloon, a GPU-based strand hair simulation, and water buoyancy calculations. An optional double-precision mode is available for very large worlds where single-precision floating point would introduce noticeable errors at distance. The library runs on Windows, Linux, macOS, iOS, Android, FreeBSD, and WebAssembly, across x86, ARM, RISC-V, and other processor families. Documentation includes a HelloWorld example, per-feature sample code, and architecture notes from a GDC 2022 talk by the author.

Copy-paste prompts

Prompt 1
Show me how to set up a basic Jolt Physics world in C++ with a falling box landing on a static floor.
Prompt 2
Using Jolt Physics, how do I create a ragdoll character with hinge and slider constraints?
Prompt 3
How do I implement a wheeled vehicle in Jolt Physics with suspension and steering?
Prompt 4
Show me Jolt's soft body API to simulate a cloth mesh that reacts to collisions.
Prompt 5
How do I run Jolt Physics collision queries in parallel with the main simulation step?
Open on GitHub → Explain another repo

← jrouwe on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.