// the find
jrouwe/JoltPhysics
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.
Jolt is a C++ rigid body physics engine built for multi-threaded game workloads, with production validation from two AAA titles (Horizon Forbidden West, Death Stranding 2). It covers the full range from basic rigid bodies through soft bodies, vehicles, character controllers, and GPU hair simulation. If you need a physics engine for a game or VR project and don't want to license Havok or fight Bullet's threading model, this is the serious option.
The threading design is genuinely well-thought-out: collision queries can run concurrently with body mutations and the main sim step, bodies don't accidentally wake neighbors on removal, and the broad/narrow phase split lets long-running background jobs (navmesh baking, etc.) spread across frames without stalling the simulation. Determinism is first-class — you can replicate a full physics sim to a remote client by sending only inputs, which is architecturally rare. The constraint set is deep: swing-twist for shoulders, spline paths, rack-and-pinion, pulley, 6-DOF — not just the basics. The library has zero external dependencies beyond the STL, no RTTI, no exceptions, and compiles under MSVC, Clang, and GCC, which makes embedding it into an existing build system actually tractable.
The C bindings are third-party and fragmented across three separate repos with no official blessing, so non-C++ integrations are second-class citizens. The GPU hair simulation is DX12/Metal/Vulkan only and only supports ConvexHull and CompoundShape collision — it's a narrow feature you'd hit walls with quickly in production. Double precision (large world) mode is a compile flag, not a runtime switch, which means you can't mix single and double precision bodies in the same build. Documentation is Doxygen-generated and adequate but thin on the 'why' — the GDC slides fill in the architecture rationale, but that's a separate resource you have to find yourself.