#pixel #camera #rendering #bevy


Scaled pixel-perfect rendering camera for Bevy

4 releases (stable)

1.1.0 Aug 25, 2022
1.0.1 Aug 24, 2022
0.1.0 Aug 24, 2022

#661 in Game dev

MIT license

60 lines

Bevy Retro Camera

Crates.io Docs.rs lines of code

( Screenshot of Epic RPG World - Ancient Ruins rendered with Bevy and this crate )

Epic RPG screenshot

Bevy Retro camera is a 2D, pixel-perfect camera for Bevy. It does work for Bevy 0.8.


  • Easy to configure camera optimized for 2D pixel-art rendering.
  • Plugin that improve Bevy's rendering for pixel art -> Will save you hours of "Why my pixels are blurs ?"


Create a startup system and use RetroCameraBundle to create a camera. It's also recommended to add the RetroCameraPlugin to disable the blur effect due to Bevy's default rendering configuration.

// Add RetroCameraPlugin to you app + a startup system
fn main() {

// Configure your startup system
fn setup(mut commands: Commands) {
    let height: f32 = 240.0;  // Viewport size
    let scale: f32 = 1.0;  // Viewport scaling factor
    commands.spawn_bundle(RetroCameraBundle::fixed_height(height, scale));

Compatibility matrix

Bevy bevy_retro_camera
0.8 1.0

Inspired by


~555K SLoC