Erin Catto released Box3D on June 30, 2026 as an open-source 3D physics engine, built by the same author and on the same lineage as Box2D. The launch adds a third credible option to a field where Nvidia’s PhysX has been the long-standing incumbent, and it shifts the engine-selection calculus for game developers away from raw solver throughput and toward a blunter question: which project will still have a maintainer answering issue reports in five years.
What shipped on June 30
Box3D is a C17 physics engine that Catto describes in his launch post as “a fork of Box2D, extended with many features needed for 3D games.” The 3D additions layered on the Box2D core are triangle-mesh collision, height-field collision, and baked compound collision; the solver architecture is carried over almost unchanged from Box2D.
The technical feature list, confirmed against the repository and the announcement, reads as a competent modern physics engine rather than a research prototype: a sub-stepping solver, continuous collision detection, graph coloring for large islands, a wide SIMD contact solver, multithreading hooks with an optional internal scheduler, cross-platform determinism, recording and replay, and large-world support that uses doubles for positions. These are table-stakes for a production solver. The differentiator is who maintains it and how they got there.
This is not a from-scratch engine. Catto developed it for The Legend of California, the survival game he builds at Kintsugiyama. The result is a known-good 2D solver stretched into three dimensions by someone who presented a drop-in gyroscopic-torque algorithm at the Game Developers Conference in 2015 (announcement).
Why a C17 core changes integration math
The library core is pure C17. The practical effect of a C core shows up in who can adopt the engine: Rust, Go, C#, and Zig bindings are mechanically simpler to write and keep stable across versions, because the ABI is fixed and there is no C++ name-mangling or class layout to bridge. PhysX is a C++ codebase that exposes bindings from a C++-first implementation surface (Wikipedia); for teams building outside the C++ orbit, a C17 core lowers the binding-maintenance tax.
The C API design reflects a long-term mindset: the headers carry full Doxygen comments. The hosted documentation is still in progress, so the C surface is currently the most reliable integration reference a binding author has.
Who backs Box3D, and for how long
Box3D’s strongest argument is the maintainer, not the feature list.
Catto convinced Kintsugiyama, the studio behind the survival game The Legend of California, to let him develop Box3D as part of his day job. That is the mechanism that makes long-term support plausible: long-running Box2D stewardship is the track record, and the day-job backing is what separates Box3D from a solo side project that evaporates when its author moves on.
The contrast with PhysX is structural rather than ideological. PhysX is open-sourced under BSD-3, with its latest stable release, SDK 5.5.0, shipping December 13, 2024, and a feature surface that includes rigid and soft body dynamics and ragdoll constraints. Open-sourcing a codebase, however, is not the same as community maintenance. Nvidia remains the primary contributor, and the project’s roadmap tracks Nvidia’s hardware and platform priorities. The trade-off is inherent to depending on a vendor-owned engine: your physics roadmap runs downstream of a corporate one.
For a team weighing the two, the choice is which risk profile fits. A corporate steward offers resources and continuity but no control over priorities. A single-author project with day-job backing offers aligned incentives but a bus factor of roughly one.
v0.1.0 today
The repository carries a v0.1.0 tag. The core library has no dependencies beyond the C runtime, and builds on Windows, Linux, and Mac (repo). Box3D is in use on The Legend of California at Kintsugiyama, the project it was built for.
The Jolt question, and why it goes unanswered here
A genuine three-way comparison against Jolt is not possible from the sources behind this piece. Jolt’s performance, feature coverage, and adoption figures were not collected in the research, so any head-to-head benchmark here would be invented rather than reported.
What the record does contain is Catto’s own reasoning, and it is worth quoting because it is the closest thing to a comparative data point. Before settling on his current approach, he writes, “I was considering using an existing open source physics engine, such as Jolt,” and adds that he was “pretty confident” he could fork Jolt and get the outcomes his game needed (announcement). A good friend suggested another course of action, which Catto followed. That choice reflects one developer’s preference for a starting point, not a judgment on Jolt’s quality. Treat any broader Jolt comparison as a gap in this analysis, not a finding.
How to choose between Box3D and PhysX in July 2026
Given the data gaps, the honest framing is a set of heuristics rather than a ranking. The table below covers the two engines this analysis can actually source; Jolt is omitted because no comparable data was collected.
| Dimension | Box3D | PhysX |
|---|---|---|
| License | Open source (announcement) | BSD-3 (Wikipedia) |
| Core language | C17 (repo) | C++ (Wikipedia) |
| Steward | Erin Catto, day-job backed by Kintsugiyama (announcement) | Nvidia (Wikipedia) |
| Latest release | v0.1.0 tagged, pre-1.0 (repo) | SDK 5.5.0, December 13, 2024 (Wikipedia) |
| Feature surface | Rigid bodies, triangle/height-field/compound collision, CCD, multithreading, determinism (announcement) | Rigid and soft body dynamics, ragdoll constraints (Wikipedia) |
Pick Box3D if you already use Box2D and want a sibling API, and if your project can absorb pre-1.0 churn in exchange for a maintainer whose incentives align with shipping games; the C17 core is a bonus for non-C++ stacks. Pick PhysX if you need soft body dynamics and accept Nvidia as the steward of your physics roadmap. Defer judgment on Jolt until you have current performance and adoption numbers in hand; this piece does not provide them.
Two cautions apply regardless of the choice. Box3D’s documentation is incomplete, so plan to read headers and sample code before committing to it. And every one of these engines is a long-term dependency. The decision matters less for which solver is fastest today than for which maintainer you are willing to be tied to when the next console generation or engine rewrite lands.
Frequently Asked Questions
Who besides Kintsugiyama is running Box3D in production?
Facepunch Studios uses Box3D for s&box, the Esoterica engine has adopted it, and Glenn Fiedler’s 1000-player space game runs on Box3D. These are external adoptions beyond The Legend of California that Catto developed Box3D for originally.
What was Box3D before it became a Box2D extension?
Box3D started as a fork of Rubikon-Lite, the physics engine written by Valve engineer Dirk Gregorius. Catto replaced most of the Rubikon code with Box2D algorithms but kept some convex hull and collision code from the original codebase.
Can I contribute code to Box3D today?
Not directly. Pull requests are currently disabled and Box3D uses an issue-only contribution model. Catto plans to open PRs with a Contributor License Agreement once the engine reaches sufficient maturity.
Should indie studios adopt Box3D in 2026?
Only if your team can tolerate alpha software churn and incomplete documentation. The day-job backing at Kintsugiyama provides continuity that solo projects lack, but Box3D is explicitly labeled alpha by its creator. Studios that cannot absorb pre-1.0 breaking changes should wait.
What language are the Box3D samples written in?
The samples and documentation use C++20, but the core library is pure C17. This separation lets the engine support broad language bindings while providing modern C++ examples for developers who want them.