| Crates.io | bevy_panorbit_wasd_camera |
| lib.rs | bevy_panorbit_wasd_camera |
| version | 0.31.1 |
| created_at | 2025-10-16 13:40:40.744047+00 |
| updated_at | 2025-10-30 16:39:26.859355+00 |
| description | A basic pan and orbit camera in Bevy with WASD support |
| homepage | https://github.com/milkcask/bevy_panorbit_wasd_camera |
| repository | https://github.com/milkcask/bevy_panorbit_wasd_camera |
| max_upload_size | |
| id | 1886103 |
| size | 266,748 |
This crate is based on bevy_panorbit_camera, with added WASD panning support.
| bevy | bevy_panorbit_camera | bevy_panorbit_wasd_camera |
|---|---|---|
| 0.17 | 0.29-0.31 | 0.30-0.31 |
| 0.16 | 0.26-0.28 | |
| 0.15 | 0.21-0.25 | |
| 0.14 | 0.19-0.20 | |
| 0.13 | 0.14-0.18 | |
| 0.12 | 0.9-0.13 | |
| 0.11 | 0.6-0.8 | |
| 0.10 | 0.1-0.5 |

Bevy Pan/Orbit Camera provides orbit camera controls for Bevy Engine, designed with simplicity and flexibility in mind. Use it to quickly prototype, experiment, for model viewers, and more!
Default mouse controls:
Default touch controls:
Add the plugin:
.add_plugins(PanOrbitCameraPlugin)
Add PanOrbitCamera (this will automatically add a Camera3d but you can add
it manually if necessary):
commands.spawn((
Transform::from_translation(Vec3::new(0.0, 1.5, 5.0)),
PanOrbitCamera::default(),
));
This will set up a camera with good defaults.
Check out the advanced example to see all the possible configuration options.
bevy_egui (optional): Makes PanOrbitCamera ignore any input that egui
uses, thus preventing moving the camera when interacting with egui windows| bevy | bevy_panorbit_camera |
|---|---|
| 0.17 | 0.29-0.31 |
| 0.16 | 0.26-0.28 |
| 0.15 | 0.21-0.25 |
| 0.14 | 0.19-0.20 |
| 0.13 | 0.14-0.18 |
| 0.12 | 0.9-0.13 |
| 0.11 | 0.6-0.8 |
| 0.10 | 0.1-0.5 |
All code in this repository is dual-licensed under either:
at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.