← Back to archive

Repo of the Day

jrouwe/JoltPhysics

Published: Nov 2, 2026

Open repository ↗

A multi core friendly rigid body physics and collision detection library. Written in C++. Suitable for games and VR applications. Used by Horizon Forbidden West and Death Stranding 2

Summary

Jolt Physics is a C++17 rigid-body physics and collision-detection library designed for games and VR, with support for multicore-oriented simulation and concurrent access to physics data. The README says it has been used in Horizon Forbidden West and Death Stranding 2: On the Beach, and it covers rigid bodies, constraints, characters, vehicles, ragdolls, soft bodies, hair, and collision queries.

What it is useful for

Jolt is useful for adding rigid-body simulation to games and VR applications in C++. A game could use sphere, box, capsule, convex-hull, mesh, or height-field shapes; connect bodies with hinges, sliders, springs, 6-DOF constraints, or motors; and implement character movement with rigid-body or virtual capsules. Other documented use cases include ray casts, shape overlap tests, trigger sensors, wheeled or tracked vehicles, buoyancy, animated ragdolls, soft-body constraints, and GPU strand-based hair.

Its architecture also targets common game-engine workloads. Physics bodies can be prepared on a background thread and inserted with minimal impact. Collision queries can run alongside body changes or the main simulation update. Bodies do not automatically wake when created, and removing a body does not wake neighboring bodies. Deterministic simulation is supported, with limits described in the project’s deterministic-simulation documentation, so engineers considering remote-client replication should review those constraints before relying on it.

This is primarily a game and VR simulation library. The README explicitly says it approximates real-world rigid-body behavior and should mainly be used for games or VR. Hair-versus-environment collision currently supports only convex hulls and compound shapes. Platform Blue builds also require an engineer-provided environment and PlatformBlue.h, which is unavailable outside its developer forum.

How engineers can use it

Start with HelloWorld/HelloWorld.cpp, which the README identifies as the introductory example. A separate JoltPhysicsHelloWorld repository demonstrates CMake FetchContent integration, while Samples/Tests contains a sample for each feature. The Docs/Samples.md guide explains how to run the Samples application, and the architecture and API documentation provides deeper reference material.

For a real project, first confirm the toolchain: Visual Studio 2022+, Clang 16+, or GCC 12+; C++17; and only the standard template library. The documented platform list includes Windows, Linux, FreeBSD, Android, macOS, iOS, MSYS2 MinGW64, and WebAssembly through a separate project. Exact build steps and commands are not included in the supplied README, so follow Build/README.md rather than guessing. Also check Docs/ReleaseNotes.md and Docs/APIChanges.md when upgrading. Bindings for C, C#, Java/Kotlin, JavaScript, Rust, Python, Zig, Jai, and Nim are linked by the README; consult those separate repositories for their setup details.