
Jolt Physics
A C++ library for simulating solid objects, collisions, and physical constraints in games and VR.
- Stars
- 12.1k
- Forks
- 996
- Licence
- MIT
- Language
- C++
- Last update
- 4 days ago
- Type
- Library
What it is
Jolt Physics is a C++ library that calculates how rigid objects move, bump into each other, and connect through joints. Game and VR developers add it to their projects so their worlds behave physically without writing that math themselves. The README says it is designed to spread work across multiple CPU cores and to be used mainly for games or VR simulations rather than exact real-world engineering.
- Simulate rigid bodies such as boxes, spheres, and convex hulls falling and colliding in a game world
- Connect bodies with hinges, sliders, springs, and other constraints
- Build wheeled, tracked, or motorcycle vehicles using the included vehicle features
- Drive animated ragdolls by keying physics bodies to an animation skeleton
Great for
- C++ game developers who need a physics engine for rigid bodies and collisions
- VR application developers building interactive objects
- Teams that want multithreaded physics updates and background collision queries
- Developers who need deterministic simulation for replicating state across clients by sending inputs
Not ideal for
- Developers who need a ready-made editor or game engine, since the README describes only a library
- Projects that must use a language other than C++ without a binding, since the README points to a separate WebAssembly project only
- Engineering or scientific work needing exact real-world accuracy, because the README says it makes approximations for games and VR
How to get it
- 1
Clone and build from source
You'll need: C++ compiler: Visual Studio 2022+, Clang 16+, or GCC 12+ · CMake (the README points to a Build section and a CMake FetchContent example)
Clone the repository
git clone https://github.com/jrouwe/JoltPhysics.git - 2
Run it
- Clone the repository and follow the Build instructions in the Build/README.md file
- Open the HelloWorld example at HelloWorld/HelloWorld.cpp to see a basic setup
- Optionally run the Samples application described in Docs/Samples.md to browse each feature
- 3
Get the most out of it
- Use the Samples application and Samples/Tests code to learn each feature
- Read the Deterministic Simulation section if you plan to replicate a simulation across clients
- Review the Architecture and API documentation linked from the README
- Check the Release Notes or API Changes documents when upgrading versions
Downloads
Strengths
- The README describes multi-core friendly design, including background loading and parallel collision queries
- Broad feature set listed in the README, covering shapes, constraints, vehicles, character controllers, and soft bodies
- Released under the MIT license, which the metadata lists
Trade-offs
- The README is long and assumes C++ knowledge; the samples and API docs are needed to learn it
- Some features have stated limits, such as hair collision supporting only convex hulls and compound shapes
- Latest release is listed without binaries, so integration means building from source
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| JoltPhysics (this) | 12.1k | Library | advanced | 4 days ago | C++ game developers who need a physics engine for rigid bodies and collisions |
| box2d | 10.5k | Library | intermediate | 7 days ago | Game developers building 2D games who want a ready-made physics solver |
| entt | 13.2k | Library | advanced | 4 days ago | C++ game developers who want an ECS |
| flame | 10.8k | Library | intermediate | 4 days ago | Flutter developers who want to add a game to an app |
| godot | 119k | App | beginner | 6 days ago | Indie game developers who want a free engine with no royalties |
| fmt | 25.9k | Library | intermediate | 4 days ago | C++ developers who want a printing or string formatting API that is safer than printf |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.