By Matt Busel, who built the apps, crates and game he writes about · every number links to its source and every dataset is downloadable (methods) · corrections · featured in Kirino, gamebiz, This Week in Rust, New Mobile Life, By-Press
Rapier vs Avian: Bevy devs pick Avian 2.3x as Dimforge chases NVIDIA

On this page · 10 sections
- Key numbers
- Bevy users already voted, and Rapier lost the vote
- Why Avian is eating Bevy: it speaks Bevy, Rapier speaks Rapier
- The plot twist: Avian can run on Dimforge's own parts
- Follow the money: Dimforge is racing NVIDIA, not Avian
- The math layer is shifting too: glam is eating nalgebra
- How big is the Bevy physics market anyway?
- Who wins, who loses
- What this means for you
- Sources
Short answer: In the Bevy game engine, Avian has already won the physics fight. Over the last 90 days avian3d pulled 150,933 crates.io downloads to 64,503 for bevy_rapier3d, a 2.3x lead, and last week the gap hit 4.2x. Our read: Dimforge is spending its best quarter racing NVIDIA on the GPU while the Bevy crowd quietly walks to the engine that was built for them.
TL;DR: Avian's 3D crate went from 8,427 weekly downloads in early August to 22,635 in the week of October 20, while bevy_rapier3d barely moved from 4,312 to 5,350. Dimforge's Q3 report, published October 25, leads with Nexus, a Rust GPU engine that simulates 505,000 rigid bodies at about 14 ms a frame on an RTX 5080, and that crate has 1,029 downloads in its whole life. The twist nobody is saying out loud: Avian can run on parry3d, Dimforge's own collision crate, so Dimforge is losing the plugin war with its own parts.
Key numbers
| What | Number | Source, checked Oct 26 2026 |
|---|---|---|
| avian3d downloads, last 90 days | 150,933 | crates.io |
| bevy_rapier3d downloads, last 90 days | 64,503 | crates.io |
| avian3d vs bevy_rapier3d, week of Oct 20 | 22,635 vs 5,350 (4.2x) | crates.io API |
| rapier3d (engine itself), last 90 days | 540,399 | crates.io |
| Nexus GPU engine: bodies in real time | 505K at ~14 ms/frame, RTX 5080 | Dimforge Q3 report |
| nexus3d downloads, all time | 1,029 | crates.io |
| glam vs nalgebra, last 90 days | 57.2M vs 16.9M | crates.io |
| GitHub stars: rapier vs avian | 5,925 vs 3,264 | GitHub |

Bevy users already voted, and Rapier lost the vote
Rapier is a physics engine: the code that makes boxes fall, cars crash and ragdolls flop. Bevy is the most popular Rust game engine, and it does not ship physics, so you bolt one on. For years the default bolt-on was bevy_rapier. That default is gone.
We pulled every daily download number crates.io publishes for the four Bevy physics plugins. Avian leads in 3D by 2.3x over 90 days and in 2D too, 67,684 to 45,975. Lowkey the 2D race is closer, but the 3D one is a blowout.

The trend is the real story. Avian's weekly 3D downloads almost tripled in 11 weeks. bevy_rapier3d grew about 24%. That is not a tie with a small lead, that is one line going vertical and one line flat.
Why Avian is eating Bevy: it speaks Bevy, Rapier speaks Rapier
Avian is written as a Bevy-native engine: its components are Bevy components and its math is glam, the same vector library Bevy uses. bevy_rapier is a bridge: it pulls in rapier3d plus nalgebra, Dimforge's own math library, and syncs the two worlds every frame. We checked the dependency lists on crates.io: bevy_rapier3d 0.37.0 requires rapier3d, nalgebra and three rapier3d loader crates; avian3d 0.8.0 requires glam-based bevy_math and no nalgebra at all.
For a dev that means one data model instead of two, and fewer "why is my transform out of sync" bugs. Devs pick the tool that feels native, every single time.

The plot twist: Avian can run on Dimforge's own parts
Here is the part that stings. avian3d lists parry3d as an optional dependency. parry is Dimforge's collision-detection crate, and it pulled 896,948 downloads in the last 90 days, more than rapier3d itself. So some of Avian's wins are still Dimforge code under the hood, just with someone else's name on the box.
That is either a quiet win or a branding disaster, depending on whether you get paid per download or per logo. Open source does not pay per either, which is kind of the whole problem.
Follow the money: Dimforge is racing NVIDIA, not Avian
Sebastien Crozet's Q3 report opens with Nexus, a GPU physics engine whose shaders are written entirely in Rust. Dimforge says v0.7.0 brings it "on par (and occasionally faster)" with NVIDIA's Isaac, simulating 505,000 bodies in about 14 ms a frame on an RTX 5080, with sand, snow, liquid and cutting via the Material Point Method on top.

That is a genuinely wild number for a small studio. But nexus3d has 1,029 downloads ever. NVIDIA's IsaacLab repo has 8,473 GitHub stars and 3,976 forks. Our bet: Dimforge sees robotics and simulation as where the money is, and the GPU race is a pitch to that buyer, not to indie game devs. Nobody has said that out loud, but the report's order of sections says it for them.
The math layer is shifting too: glam is eating nalgebra
nalgebra is still a giant: 97.6 million downloads all time and 2,135 crates that depend on it. But glam, the lean game-math library Bevy picked, did 57.2 million downloads in 90 days to nalgebra's 16.9 million.

That is the same story one layer down. Games want fast, simple vector math. nalgebra is a general linear algebra library that can do everything, and "can do everything" loses to "does the thing I need, fast" in a game loop. It's giving 2015 jQuery vs vanilla JS energy.
How big is the Bevy physics market anyway?
Bevy itself did 1,825,815 downloads in the last 90 days. Add both Avian crates and both bevy_rapier crates and you get 329,095, about one physics-plugin download for every 5.5 Bevy downloads. Not every download is a human (CI servers fetch crates on every build), but the ratio between the plugins is the honest signal, since both get hit by the same bots.
Meanwhile the raw rapier3d engine did 540,399 downloads, more than 8x bevy_rapier3d, which tells you Rapier still has a life beyond Bevy: other engines, web demos, robotics and simulation tools. Dimforge is not dying. It is just not the Bevy default anymore, and defaults are where the next wave of devs starts.
Who wins, who loses
- Wins: Avian and its maintainers, who own the Bevy physics default now. Bevy itself, which gets a physics story that feels native.
- Wins, quietly: parry, which rides along inside Avian setups.
- Loses: bevy_rapier, which is turning into the legacy option new tutorials skip.
- Open question: Dimforge. If Nexus lands a robotics or simulation customer, losing Bevy plugin share will not matter. If it does not, they gave away the indie crowd for a benchmark.
Hot take, said with our chest: in 12 months, the Bevy book and most new Bevy tutorials default to Avian, and bevy_rapier downloads are flat or down. Check the CSV and hold us to it.
What this means for you
Starting a Bevy game today? Pick Avian unless you need something Rapier has and Avian does not, like Rapier's robot loaders (URDF and MJCF crates) or deterministic cross-platform builds you have already tested. Already on bevy_rapier with a shipped game? Do not migrate for vibes; migrate when a bug or a Bevy upgrade forces it. Building robots or big simulations? Watch Nexus, that is where Dimforge is putting its best work.
More from our Rust desk: the Rust hub, our crate download tracker, all Rust articles and the game-dev desk.
If your Rust or Bevy build is broken right now (physics jitter, a plugin that stopped compiling after a Bevy bump, a crate migration gone sideways), our paid fix gets it fixed within 24 hours or you get a full refund.
Sources
- Dimforge, Sebastien Crozet: Q3 2026 technical report, Oct 25 2026
- crates.io API: daily downloads for avian3d, avian2d, bevy_rapier3d, bevy_rapier2d, rapier3d, rapier2d, parry3d, nalgebra, glam, bevy, nexus3d, pulled Oct 26 2026
- crates.io: avian3d 0.8.0 and bevy_rapier3d 0.37.0 dependency lists, Oct 26 2026
- GitHub: dimforge/rapier, avianphysics/avian, isaac-sim/IsaacLab repo stats, Oct 26 2026
- r/rust discussion of the Q3 report, Oct 25 2026
First published here on tensorust.com on Oct 26, 2026. Related: .
Up next
More on RustSweeney wants rockets. 37,800 bots crashed my vibe-coded gameMy AI-coded game is out now, free on Steam. 37,800 bot runs of its economy: cheating fails on the street, but the finance layer prints $14 trillion. The data.Read it next →Cite this
Free to cite and reuse under CC BY 4.0 with a link back. How it was collected: methods. Spotted an error? Corrections.
Did this answer your question?
Get the next one by email.
What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.
No spam, never sold. Every email has a one-click unsubscribe.
What are people saying about this? Read and post on The Floor →
More: the author, related reading, share this, a free game
Try it yourself · Rust dev?
Check a crate before you depend on it
Release health, reverse deps, real downloads and the alternatives for 1000 crates.
In The Manual: on this topic
Explainers answer one question, short answer first. Guides walk you through it step by step.
- Guide · Games and SteamHow to get Steam wishlists (and which ones actually turn into players)
- Explainer · Shipping and sellingSnowflake ID vs UUID: which should you use?
- Explainer · Shipping and sellingUUID vs NanoID: which ID should you use?
- Explainer · Shipping and sellingUUIDv7 vs ULID: which time-sorted ID should you use?
Read next
- Gaming · Oct 19, 2026 · 14 min readSweeney wants rockets. 37,800 bots crashed my vibe-coded game
- Dev · Oct 16, 2026 · 12 min readBevy instancing: drawing 639,000 units with one draw call per mesh
- Gaming · Oct 10, 2026 · 2 min readMy game has one mechanic, so I taught the NPCs to lie