12 releases (breaking)

new 0.16.0 May 8, 2025
0.10.0 Mar 6, 2023
0.8.0 Jan 8, 2022
0.7.0 Apr 7, 2021
0.5.0 Nov 4, 2020

#509 in Game dev

Download history 87/week @ 2025-01-19 33/week @ 2025-01-26 107/week @ 2025-02-02 93/week @ 2025-02-09 59/week @ 2025-02-16 89/week @ 2025-02-23 70/week @ 2025-03-02 88/week @ 2025-03-09 71/week @ 2025-03-16 64/week @ 2025-03-23 29/week @ 2025-03-30 29/week @ 2025-04-06 35/week @ 2025-04-13 66/week @ 2025-04-20 89/week @ 2025-04-27 176/week @ 2025-05-04

369 downloads per month
Used in 2 crates

MIT license

53KB
228 lines

Crates.io

bevy-fly-camera

This is a really basic flying camera bundle and plugin for Bevy. It's useful for testing games before you've coded your own movement system.

It features both a 3d camera with Minecraft-style motion, and a 2d camera without mouse-looking.

Keybinds can be edited, but the defaults are:

3D

  • W / A / S / D - Move along the horizontal plane
  • Space - Move upward
  • L Shift - Move downward
use bevy::prelude::*;
use bevy_fly_camera::{FlyCamera, FlyCameraPlugin};

fn setup(commands: &mut Commands) {
  commands
    .spawn(Camera3dBundle::default())
    .with(FlyCamera::default());
}

fn main() {
  App::new()
    .add_plugins(DefaultPlugins)
    .add_startup_system(setup)
    .add_plugin(FlyCameraPlugin)
    .run();
}

Runnable 3D Example

2D

  • W / A / S / D - Move along the 2d plane
use bevy::prelude::*;
use bevy_fly_camera::{FlyCamera2d, FlyCameraPlugin};

fn setup(commands: &mut Commands) {
  commands
    .spawn(Camera2dBundle::default())
    .with(FlyCamera2d::default());
}

fn main() {
  App::new()
    .add_plugins(DefaultPlugins)
    .add_startup_system(setup)
    .add_plugin(FlyCameraPlugin)
    .run();
}

Runnable 2D Example


If you like this crate, there are some issues that I would love to get some help on to make it more maintainable!

If you use this crate in a project, I'd love to know about it! Send me a message or just open an issue about it! ♥

Any PRs are also welcome, though keep in mind that the project scope is intentionally tiny: A quick and dirty 3D motion camera, almost entirely intended for intermediate development steps or 3D demos.


Version Matching

Bevy Version bevy_fly_camera Version
0.1.0 0.1.1
0.1.3 0.3.0
0.2 0.4.0
0.2.1 0.4.1
0.3.0 0.5.0
0.4.0 0.6.0
0.5.0 0.7.0
0.6.0 0.8.0
0.9.0 0.9.0
0.10.0 0.10.0
0.11.0 0.11.0
0.12.0 0.12.0
0.13.0 0.13.0
0.14 0.14
0.15 0.15
0.16 0.16

Dependencies

~18–24MB
~411K SLoC