All posts

Box3D: the creator of Box2D releases a 3D physics engine

Manaal KhanJuly 3, 2026 at 4:17 AM6 min read

Key Takeaways

  • Box3D is now available on GitHub as an open source 3D physics engine from Box2D creator Erin Catto
  • The engine includes triangle mesh collision, height-field collision, SIMD optimization, and cross-platform determinism
  • Catto built Box3D after Unreal's native Chaos physics failed to handle falling trees in his game project

Erin Catto, the creator of Box2D, has released Box3D, a fully open source 3D physics engine. The project is now live on GitHub. If you've built a game with physics in the last 17 years, there's a good chance Box2D was somewhere in the stack. Angry Birds ran on it. So did Limbo and Crayon Physics Deluxe. Now that same architectural philosophy extends into three dimensions.

"You can think of Box3D as a fork of Box2D, extended with many features needed for 3D games," Catto wrote in the announcement.

Advertisement

What Box3D actually includes

The feature list reads like a checklist for anyone building physics-heavy 3D games. Triangle mesh collision. Height-field collision. Baked compound collision. A sub-stepping solver. Continuous collision detection. Graph coloring for large islands. A wide SIMD contact solver. Multi-threading hooks.

Two features stand out for multiplayer and competitive games: cross-platform determinism and recording and replay support. Determinism means the physics simulation produces identical results across different CPUs and operating systems. That's essential for networked games where clients need to agree on what happened, and for replay systems that reconstruct gameplay from input logs.

The entire library is written in C17 with a C API. Large world support uses doubles for position, so you can simulate physics across map scales that would break single-precision floats.

Why Catto built it: Unreal's physics couldn't handle falling trees

The origin story is pragmatic. Since 2022, Catto has been working on The Legend of California at his studio Kintsugiyama. The game runs on Unreal Engine, starting with version 5.0. Early tests with Unreal's native physics engine, Chaos, went poorly.

One problem: no support for simulating gyroscopic torques. Slender shapes like rifles would spin indefinitely, conserving angular velocity in ways that looked wrong. Catto had solved this exact problem back in 2015 with a ten-line algorithm he presented at GDC. Epic eventually added the feature in late 2024, but that wasn't his biggest issue.

The bigger problem was trees. In a survival game, chopping down trees is fundamental. When Catto's trees fell, they "moved erratically, teleporting around the screen." His best guess: Chaos was using some kind of continuous collision fallback that failed on a large capsule falling onto a smooth triangle mesh. A scenario that should have been easy.

The Legend of California also manages hundreds of thousands of entities on the server. That requires a fast broad-phase, and Catto decided it was too risky to hand that responsibility to middleware when broad-phase data structures are something he knows deeply. He's given GDC talks on the subject.

The Valve connection

Catto considered forking Jolt, an existing open source physics engine. Instead, his friend Dirk Gregorius suggested a different path. Gregorius is a physics programmer who shipped Rubikon, the custom physics engine in Half-Life: Alyx. He maintained a hobby version, call it Rubikon-Lite, and offered it as a starting point.

Catto forked Rubikon-Lite, hooked it into Unreal, and it worked. Gyroscopic torques behaved correctly. Trees fell naturally. But he wanted the optimizations from Box2D v3.0. Over time, he replaced most of Rubikon-Lite's APIs, data structures, and algorithms with Box2D code. The fork transformed into Box3D.

Today, Box3D still contains some Rubikon-Lite code in convex hull generation and certain collision algorithms. The rest is Box2D code and new work. Gregorius, meanwhile, has developed a new engine called Ragnarok with similar optimizations. Expect it in future Valve games.

Advertisement

Custom physics for multiplayer servers

The Legend of California runs with server authority. Falling trees, ragdolls, voxels, saloon doors, tumbleweeds. All simulated on the server. A custom physics engine means Catto can tailor features and performance to the game's specific needs.

He's done significant optimization work for falling trees. The game features huge redwood trees falling fast onto voxel terrain. Getting mesh collision and continuous collision detection working well for that scenario required tuning that wouldn't be possible with off-the-shelf middleware.

Where Box3D fits in the landscape

The open source 3D physics space has a few established players. Jolt Physics, released by Jorrit Rouwe, has gained traction in recent years and powers some commercial projects. Bullet Physics has been around since 2003 and remains widely used. On the proprietary side, NVIDIA PhysX and Havok dominate AAA production.

Box3D's advantage is its lineage. Box2D is battle-tested across millions of games. The architecture transfers directly: C API, determinism, SIMD optimization, threading hooks. If you've integrated Box2D, Box3D should feel familiar.

The disadvantage is maturity. Box3D is new. It hasn't been stress-tested across thousands of shipping games. It will have bugs Catto hasn't found yet. For studios evaluating physics middleware, the question is whether Box3D's architecture and Catto's track record outweigh the risk of being an early adopter.

ℹ️

Logicity's Take

Box3D is interesting not because it promises features other engines lack, but because Catto built it for the same reasons a studio CTO would: a commercial engine failed to meet specific requirements, and fixing it was riskier than building a replacement. That's a strong endorsement of the custom-engine approach for studios with the talent to execute it. For most teams, Jolt or Bullet remain safer bets today. But if cross-platform determinism and server-authoritative physics are core to your architecture, Box3D is worth evaluating. The cost is zero. The risk is integration time and potential bugs in a young codebase.

Frequently Asked Questions

Is Box3D free to use in commercial games?

Yes. Box3D is open source and available on GitHub under the same permissive license as Box2D. There are no royalties or licensing fees.

Can Box3D replace Unreal Engine's Chaos physics?

It can. Catto did exactly this for The Legend of California. However, the integration requires custom work, especially if you rely on Blueprint or Unreal's animation systems.

Does Box3D support deterministic physics for multiplayer?

Yes. Cross-platform determinism is a core feature, making it suitable for networked games where clients must agree on simulation results.

How does Box3D compare to Jolt Physics?

Both are open source C++ 3D physics engines. Jolt is more mature with broader adoption. Box3D inherits Box2D's architecture and optimization philosophy. The right choice depends on your team's familiarity and specific feature needs.

What programming languages does Box3D support?

Box3D is written in C17 with a C API. This makes it easy to bind to other languages like C++, Rust, or scripting languages through FFI.

ℹ️

Need Help Implementing This?

Contact the Logicity team for consulting on game engine architecture, physics middleware evaluation, or custom engine integration. We've helped studios make these decisions before.

Source: Hacker News: Best

Advertisement
M

Manaal Khan

Tech & Innovation Writer

Produced with AI assistance and reviewed by the Logicity editorial team. Learn more in our Editorial Policy.

Related Articles