#specs #nphysics #nphysics3d


nphysics integration for the Specs entity component system

6 releases

0.3.0 Jun 23, 2019
0.2.2 Jun 5, 2019
0.1.1 Jun 1, 2019
0.1.0 May 31, 2019

#934 in Game dev

Download history 15/week @ 2024-02-25 8/week @ 2024-03-03 7/week @ 2024-03-10 3/week @ 2024-03-17 63/week @ 2024-03-31

75 downloads per month

MIT license

1.5K SLoC


Build Status Crates.io MIT/Apache Docs.rs

specs-physics aims to be an easily usable and extendable nphysics physics engine integration for applications and games that utilise the Specs ECS.

The dream is to simply create Entitys with a set of configurable Components and have most of your physics covered, be it collision/proximity detection, velocity and acceleration or gravity.


Full examples can be found under src/examples. If anything is missing or unclear, feel free to open an issue or give me a poke!


I'd appreciate any kind of contribution to this project, be it feature requests, bugs/issues, pull requests, documentation, tests or examples!

Please just try to format any code changes according to the rustfmt.toml rules. They're not exactly set in stone and I'm open for suggestions, but let's try to keep things tidy!

Current Roadmap

Full TODO sheet can be found in [this nphysics issue][todo]

  • RigidBody Components
  • Collider Components
  • Proximity and Contact EventChannels
  • External force property
  • log based logging
  • Handling Body Activation & Sleeping
  • Multibody-based Component Joints
  • Force generator inversion of control
  • Time scale and simulation pausing


  • Proximity & Curve-based external force utility
  • Constraint-based Joints
  • Kinematics


Distributed under the MIT License. See LICENSE for more information.


This project is heavily inspired by nphysics-ecs-dumb; they did most of the heavy lifting, I'm just building up on what they have started!

Special thanks to:


~247K SLoC