Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
14.6k
Stars
3.1k
Forks
420
Open issues
30
Contributors
AI Analysis
Bullet Physics SDK is a mature, open-source real-time collision detection and multi-physics simulation engine primarily designed for games, VR, robotics, and machine learning applications. It excels as a specialized physics simulator for interactive 3D environments and reinforcement learning research rather than as a general-purpose physics library; it is best suited for developers building game engines, robotic simulations, and ML environments, not for scientific computing or general numeric...
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Bullet Physics: the established open-source C++ physics engine powering games, robotics, and ML research
Bullet Physics SDK provides real-time rigid body dynamics, soft body simulation, and collision detection in C++. It is used by game developers, VFX studios, robotics researchers, and ML practitioners — particularly via its PyBullet Python bindings, which became a de-facto environment for reinforcement learning and robot simulation benchmarks. Its broad platform support (Windows, Linux, macOS, iOS, Android, OpenCL GPU), permissive zlib license, and pip-installable Python interface explain its longevity across very different user communities.
Created by Erwin Coumans around 2005 (open-sourced, GitHub mirror since 2011), Bullet rose to prominence in game engines and Hollywood VFX before PyBullet (2016) extended its reach into robotics and ML research communities.
Initial adoption was driven by game/VFX use cases in the 2000s–2010s. A second growth wave came with the deep reinforcement learning boom (2016–2019), when PyBullet became one of the most cited physics simulation environments in academic robotics and RL papers. Star growth has plateaued at ~10 stars/week as of mid-2026, suggesting a mature, stable install base rather than active expansion.
PyBullet is pip-installable and has been cited in hundreds of academic papers (OpenAI, DeepMind, Google Brain robotics work). vcpkg and Conan packages exist, indicating integration into professional C++ supply chains. Used historically by Sony, Rockstar, and various VFX houses. Adoption is well-documented in public literature, though recent large-scale production game usage is less clearly confirmed given competition from PhysX and Havok.
Appears to be a modular C++ library split into collision detection, rigid body dynamics, soft body dynamics, and an optional GPGPU path via OpenCL. PyBullet wraps the core via a shared-memory / Python C extension interface. Build system supports both CMake and Premake, indicating multi-IDE/platform intent. Likely header-heavy with separate demo/example browser to validate behavior.
README mentions 'non-graphical demos and unit tests' for the OpenCL path and some regression tests, but formal test coverage metrics are not documented in README.
Last push was October 2025 (~8 months before current date), with the issue tracker explicitly closed due to overload — a sign of under-staffed maintenance rather than abandonment. Commit cadence appears low but non-zero. The project shows signs of slow-but-active maintenance rather than stagnation; critical bugs likely get addressed, but feature development pace is modest.
ADOPT IF: you need a permissive-licensed, broadly portable C++ physics library with an established Python interface (PyBullet) for robotics prototyping, legacy game/VFX pipelines, or ML environments where MuJoCo is not suitable. AVOID IF: you are starting a new high-performance game physics stack or need active feature development and responsive issue support — JoltPhysics or a commercial SDK may serve you better. MONITOR IF: you rely on PyBullet for RL research, as MuJoCo's growing dominance in that niche may make migration beneficial over the next 1–2 years.
Independent dimensions
Mainstream potential
4/10
Technical importance
8/10
Adoption evidence
8/10
- Issue tracker is closed, creating a high barrier for bug reports and community support — users must rely on forums or third-party resources.
- MuJoCo has largely supplanted PyBullet as the preferred RL/robotics simulation environment in academic circles, reducing Bullet's growth ceiling in that segment.
- JoltPhysics is actively growing and technically competitive, potentially drawing new game/simulation users away from Bullet.
- Maintenance appears to depend heavily on a small number of contributors; a single maintainer departure could accelerate drift into effective abandonment.
- OpenCL GPU path is described as experimental with known driver reliability issues, limiting utility for GPU-accelerated simulation pipelines.
Bullet will likely remain a stable, widely-referenced physics engine for the foreseeable future due to its entrenched install base and permissive license, but will gradually cede new adoption in robotics/ML to MuJoCo and in games/sim to JoltPhysics.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Website
- http://bulletphysics.org
- Language
- C++
- License
- NOASSERTION
- Last updated
- 9mo ago
- Created
- 186mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
pybullet.c won't compile incompatible pointer types
Collision and animation with .gtlf/.glb file
Publish wheels for python 3.12, 3.13 and 3.14
bFile ODR violations
BulletRoboticsGUI does not build with `BUILD_CLSOCKET=False`
Top contributors
Similar repos
NVIDIA-Omniverse/PhysX
NVIDIA PhysX is a production real-time physics simulation engine for rigid...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
14.6k | +17 | C++ | 7/10 | 9mo ago |
|
|
10.7k | — | C++ | 8/10 | 1w ago |
|
|
4.7k | — | C++ | 8/10 | 2w ago |
|
|
4.9k | — | C | 8/10 | 12h ago |
|
|
2.5k | — | C++ | 8/10 | 3d ago |
|
|
4.5k | — | C++ | 7/10 | 3w ago |
Newer C++ engine (2021) with modern architecture targeting game/simulation use cases. Gaining momentum rapidly (~10k stars) with more active recent development. Likely surpasses Bullet in performance on modern hardware for rigid body use cases, but lacks Bullet's Python/ML ecosystem and years of production validation.
Purpose-built for contact-rich robotics and ML; more physically accurate for articulated systems and now also open-source. Has largely displaced PyBullet as the preferred RL/robotics simulation environment in academic research since ~2022. Direct overlap in the PyBullet user segment.
A WebAssembly/JavaScript port of Bullet itself, so not truly a competitor — it extends Bullet to the browser. Useful indicator that Bullet's core is considered production-quality enough to port.
2D-only physics by the same domain; complementary rather than competitive for 3D use cases. Preferred for 2D games where Bullet's 3D overhead is unnecessary.
Proprietary SDK dominant in AAA game engines (Unreal Engine). Offers GPU-accelerated rigid body at scale. Not open-source in the same way; Bullet remains the primary open-source alternative for C++ game/sim stacks where vendor lock-in is a concern.

