bevyengine / bevyengine/bevy

Allow Bevy windows to be spawned as a child of an existing window

Open
#13,194 3 comments 2 reactions 0 assignees View on GitHub
A-Windowing C-Feature S-Needs-Design
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What problem does this solve or what need does it fill?

Currently, a Bevy app is designed to be a standalone application. Instead, I need to use a Bevy app within an existing application.

## What solution would you like?

I would like to be able to initialize a Bevy window as a child of an existing window; this seems like the most straightforward and promising way.

## Additional context

There was a previous discussion about this here #4838, which forked bevy_winit to create all windows as a child window using https://smithay.github.io/smithay/winit/window/struct.WindowBuilder.html#method.with_parent_window

It's unclear to me if this a parent window should be shared for all windows in the app, or per-window.

It seems winit child windows have poor multi-platform support (not sure if this matters?).

I'd love to implement this myself once I have some guidance on how to proceed.

Contributor guide

Open the contributing guide

Research direction

Start with the previous discussion in #4838 and winit's WindowBuilder.with_parent_window reference, then determine whether the parent is shared or per-window and which platforms support child windows. Done means Bevy can initialize a window as a child of an existing application window with the intended ownership and platform scope documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.