Revy - Rerun integration for Bevy

Overview

Revy is a proof-of-concept time-travel debugger for the Bevy game engine, built using Rerun.

Revy works by snapshotting diffs of the Bevy database every frame that are then logged into the Rerun database. This allows you to inspect and visualize the state of the engine at any point in time, either in real-time or after the fact. These recordings can then be shared to be replayed or e.g. attached to bug reports.

For more information, check out the Revy repository.

Examples

Breakout3D shapesAlien Cake Addict
Live demo Live demo Live demo

Usage

  1. Install the Rerun Viewer (0.15).

  2. Add revy to your dependencies:

    revy = "0.15" # always matches the rerun version
  3. Initialize the rerun plugin:

    .add_plugins({ let rec = revy::RecordingStreamBuilder::new("<your_app_name>").spawn().unwrap(); revy::RerunPlugin { rec } })

    This will start a Rerun Viewer in the background and stream the recording data to it. Check out the RecordingStreamBuilder docs for other options (saving to file, connecting to a remote viewer, etc).