- Open Source
- Cross-platform
- Language: C#
- Breakable joints
- Linear and angular motion damping
- Per-shape material settings
- Contact groups (define which objects can interact physically)
- Collision detection primitive shapes
- Boxes
- Spheres
- Capsules (i.e. capped cylinders)
- Planes
- User-defined triangular mesh collision detection (best for terrains)
- Joints
- Hinge joints (one rotational degree of freedom)
- Universal joints (two rotational degrees of freedom)
- Ball joints (three rotational degrees of freedom)
- Wheel joints (two rotational degrees of freedom)
- Slider joints (i.e. prismatic joints; one translational degree of freedom)
- Fixed joints (zero degrees of freedom)
- Motors
- Attractor motors (provide gravitational attraction between two objects)
- Geared motors (simplified automobile engines)
- Servo motors (use limited torque to achieve a desired angle or velocity; similar to PD/PID controllers)
- Spring motors (simple damped springs; pull objects to a desired position and/or orientation)
- Thruster motors (provide a constant force on an object)
- Velocity motors (use force to achieve desired velocity)
- Sensors
- Acceleration sensors
- Incline sensors
- Raycast sensors
- Volume sensors
- Event handlers
- Collision event handler (notified when objects collide)
- Joint break event handler (notified when a joint breaks)
- Movement event handler (notified when solid changes its position or orientation)
- Post-step event handler (notified at the end of each time step)