#bevy #gamedev #game

bevy_child_window

Allows you to create an embed child window in Bevy

2 releases

new 0.1.1 Feb 15, 2025
0.1.0 Feb 6, 2025

#1956 in Game dev

Download history 141/week @ 2025-02-04 149/week @ 2025-02-11

290 downloads per month
Used in bevy_webview_wry

MIT/Apache

9.5MB
561 lines

bevy_child_window

Crates.io MIT/Apache 2.0

This library provides a way to create an embed child window in Bevy.

This is a library for bevy_webview_wry, but can be used in generic bevy applications.

webview

Supported platforms

Platform usable
Windows
MacOS
Linux(X11)
Linux(Wayland)
Web
Android
iOS

Usage

You can create the window as child by adding ParentWindow component to the entity.

use bevy::prelude::*;
use bevy::window::{PrimaryWindow, WindowResolution};
use bevy_child_window::prelude::*;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins,
            ChildWindowPlugin,
        ))
        .add_systems(Startup, spawn_child_window)
        .run();
}

fn spawn_child_window(
    mut commands: Commands,
    parent: Query<Entity, With<PrimaryWindow>>,
) {
    commands.spawn((
        ParentWindow(parent.single()),
        Window {
            title: "Child Window".to_string(),
            resolution: WindowResolution::new(500.0, 500.0),
            ..Default::default()
        }
    ));
}

ChangeLog

Please see here.

Compatible Bevy versions

bevy_child_window bevy
0.1.0 ~ 0.15

License

This crate is licensed under the MIT License or the Apache License 2.0.

Contributing

Welcome to contribute by PR and issues!

Dependencies

~55–105MB
~2M SLoC