https://github.com/qhdwight/bevy_fps_controller
Source engine inspired Bevy FPS controller plugin
https://github.com/qhdwight/bevy_fps_controller
bevy bevy-engine bevy-plugin rust
Last synced: 5 months ago
JSON representation
Source engine inspired Bevy FPS controller plugin
- Host: GitHub
- URL: https://github.com/qhdwight/bevy_fps_controller
- Owner: qhdwight
- License: apache-2.0
- Created: 2022-08-08T18:00:42.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-04T23:17:56.000Z (about 1 year ago)
- Last Synced: 2025-05-15T11:05:46.056Z (about 1 year ago)
- Topics: bevy, bevy-engine, bevy-plugin, rust
- Language: Rust
- Homepage: https://crates.io/crates/bevy_fps_controller
- Size: 351 KB
- Stars: 228
- Watchers: 3
- Forks: 29
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
[](https://github.com/qhdwight/bevy_fps_controller/actions/workflows/rust.yml)
[](https://crates.io/crates/bevy_fps_controller)
# Bevy FPS Controller
Inspired from Source engine movement, this plugin implements movement suitable for FPS games.
Feel free to make issues/PRs!
### Features
* Air strafing
* Bunny hopping if the jump key is held down
* Moving along sloped ground
* Crouching and sprinting
* Crouching prevents falling off ledges (Rapier only)
* Instantly clear small steps (Rapier only)
* Noclip mode
* Configurable settings
### Examples
See [minimal_rapier.rs](./examples/minimal_rapier.rs) or [minimal_avian.rs](./examples/minimal_avian.rs)
Make sure to enable either the `rapier` or `avian` feature in `Cargo.toml` depending on what your backing physics engine is.
```bash
cargo run --release --features rapier --example minimal_rapier
```
### Demo
https://user-images.githubusercontent.com/20666629/221995601-2ec352fe-a8b0-4f8c-9a81-beaf898b2b41.mp4
Used by my other project: https://github.com/qhdwight/voxel-game-rs