Back to project foundations
Reference project

Rapier

Rust 2D/3D rigid-body physics with collision detection, scene queries and separate language bindings.

Why we recommend it

Rapier provides a dedicated simulation layer to pair with a renderer or game engine. It is useful when contact behavior, character movement or a physics-based mechanic needs more control than simple overlap checks.

When to choose it

  • Physics-driven game mechanics and custom simulations.
  • Rust games or web projects using an appropriate JavaScript/WebAssembly integration.

What to consider

  • It is a physics engine without rendering, game rules or multiplayer services. The Rust core, JS bindings and Bevy plugin are separate integrations.
  • Stable simulation needs an explicit timestep, units, collision layers and synchronization policy. Do not assume arbitrary builds are deterministic across network peers.

Start with this project

Choose 2D or 3D and the integration for your renderer and language. Follow that version's guide, create a world, rigid bodies and colliders, then step it at a fixed interval and synchronize visible transforms separately.