#networking #gamedev #visualizer #client

renet2_visualizer

Egui metrics visualizer for the renet2 crate

13 releases (8 breaking)

new 0.9.1 Apr 27, 2025
0.8.1 Apr 8, 2025
0.7.0 Mar 24, 2025
0.1.0 Dec 23, 2024

#2681 in Game dev

Download history 2/week @ 2025-01-06 114/week @ 2025-01-13 11/week @ 2025-01-20 333/week @ 2025-02-03 47/week @ 2025-02-10 273/week @ 2025-02-17 20/week @ 2025-02-24 8/week @ 2025-03-03 49/week @ 2025-03-17 212/week @ 2025-03-24 148/week @ 2025-03-31 148/week @ 2025-04-07 8/week @ 2025-04-14

565 downloads per month

MIT/Apache

145KB
2.5K SLoC

Renet Visualizer

Latest version Documentation MIT Apache

A egui metrics visualizer for the renet2 crate with simple usage.

https://user-images.githubusercontent.com/35241085/175834010-b1eafd77-7ea2-47dc-a915-a399099c7a99.mp4

Usage

Client

let mut visualizer = RenetClientVisualizer::<200>::new(RenetVisualizerStyle::default());
// ..

loop {
    // Update Renet Client
    client.update(delta).unwrap();
    // Add metrics to the visualizer
    visualizer.add_network_info(client.network_info());

    // Draws a new egui window with the metrics
    visualizer.show_window(egui_ctx);

    // ..
}

Server

let mut visualizer = RenetServerVisualizer::<200>::new(RenetVisualizerStyle::default());
// ..

loop {
    // Update Renet Server
    server.update(delta).unwrap();

    // Add/Remove clients from the visualizer
    while let Some(event) = server.get_event() {
        match event {
            ServerEvent::ClientConnected(client_id, user_data) => {
                visualizer.add_client(client_id);
                // ...
            }
            ServerEvent::ClientDisconnected(client_id) => {
                visualizer.remove_client(client_id);
                // ...
            }
        }
    }

    // Add all clients metrics to the visualizer
    visualizer.update(&server);

    // Draws a new egui window with all clients metrics
    visualizer.show_window(egui_ctx);

    // ..
}

Dependencies

~5–12MB
~131K SLoC