v0.35.0 - Rapier vs Box2D vs Jolt vs Box3D
Godot Rapier now runs on Rapier 0.35.
Both 2D and 3D builds now always have parallel SIMD solver and cross platform determinism enabled.
2D: Rapier vs Box2D
Rapier is the only engine that keeps every scene stable: Box2D collapses the pyramid and blows the joints apart, those are marked as unstable.
- Issue on godot-box2d-v3 side: godot-box2d-v3/issues/9 godot-box2d-v3/issues/8
| Engine | Version | Addon |
|---|---|---|
| v0.35 | godot-rapier2d | |
| v3.1 | godot-box2d-v3 |
| Engine | Rapier2D | Box2D |
|---|---|---|
![]() | 16 ms 1.8 cores | 17 ms 4.1 cores unstable |
![]() | 8 ms 2.2 cores | 9 ms 4.4 cores |
![]() | 7 ms 2.0 cores | 6 ms 3.2 cores |
![]() | 5.5 ms 1.2 cores | 3.9 ms 1.8 cores |
![]() | 6.4 ms 1.6 cores | 3.8 ms 2.8 cores unstable |
| Benchmark | Conclusion |
|---|---|
| Pyramid | Rapier hold the pyramid stable, 2.3x fewer cores. Box2D collapses, unstable |
| Smash | Rapier 1.13x faster, 2.0x fewer cores |
| Mixed shape pile | Box2D 1.23x faster, Rapier 1.6x fewer cores |
| Query storm | Box2D 1.42x faster, Rapier 1.5x fewer cores |
| Joint grid | Rapier holds the joints together; Box2D explodes, unstable |
3D: Rapier vs Jolt vs Box3D
Rapier3D is fastest on three of five scenes and 4x ahead on queries; Jolt crashes the joint grid. Box3D is single threaded (issue on godot-box3d side).
| Engine | Version | Addon |
|---|---|---|
| v0.35 | godot-rapier3d | |
| v5.5.0 | ships with Godot v4.7 | |
| v0.1 | godot-box3d v0.2.3 |
Rapier3D | Jolt | Box3D | |
|---|---|---|---|
![]() | 5.6 ms 1.1 cores | 22 ms 1.2 cores | 6.3 ms 1.0 cores |
![]() | 19 ms 3.4 cores | 24 ms 5.6 cores | 25 ms 0.9 cores |
![]() | 10 ms 2.5 cores | 11 ms 5.1 cores | 14 ms 1.0 cores |
![]() | 11.4 ms 2.3 cores | unstable never finishes | 11.2 ms 1.0 cores |
![]() | 12 ms 2.9 cores | 11 ms 5.0 cores | 17 ms 1.0 cores |
| Benchmark | Conclusion |
|---|---|
| Query storm | Rapier 4.0x faster than Jolt, on par with Box3D |
| Pyramid | Rapier 1.22x faster than Jolt, 1.27x than Box3D |
| Mixed shape pile | Rapier 1.12x faster than Jolt, 1.37x than Box3D |
| Joint grid | Rapier and Box3D tie; Jolt unstable, never finishes |
| Smash | Jolt 1.05x faster, using 1.7x more cores |
Building without experimental-threads
Official builds enable experimental-threads so the physics server can be driven from other threads. It costs 7-51% depending on the scene, so building from source without it is faster:
| Benchmark | Without threads | Official build | |
|---|---|---|---|
| 2D box pyramid | 16.4 ms | 18.2 ms | 11% faster |
| 2D mixed pile | 6.9 ms | 8.0 ms | 17% faster |
| 2D joint grid | 6.4 ms | 7.4 ms | 15% faster |
| 3D box pyramid | 19.4 ms | 20.7 ms | 7% faster |
| 3D smash | 12.0 ms | 18.1 ms | 51% faster |
| 3D query storm | 5.6 ms | 8.0 ms | 43% faster |
New features
- Rope and fixed joints, in 2D and 3D. Godot has no equivalent of either. Reference.
- Per-body solver iterations: stabilize one important body without paying for it globally. Reference.
- Per-joint stiffness and toggling:
joint_set_softness,joint_set_enabledfor breakable constraints. Reference. - Joint warm starting: stiff joint assemblies converge much better, at no measurable cost.
- New project settings for motion recovery, shape casting and query behaviour.
Full Changelog: https://github.com/appsinacup/godot-rapier-physics/blob/main/CHANGELOG.md










