Skip to content

Bevy 0.19, Windows Transparent features seem does not work properly. #25366

Description

@eoqci

Bevy version and features

  • Bevy: 0.19.0
  • Bevy is used with the default features.
  • The application uses Bevy's windows transparent feature.

[Optional] Relevant system information

Win 11

`AdapterInfo { name: "NVIDIA GeForce RTX 3060 Laptop GPU", vendor: 4318, device: 9504, device_type: DiscreteGpu, device_pci_bus_id: "0000:01:00.0", driver: "NVIDIA", driver_info: "591.86", backend: Vulkan, subgroup_min_size: 32, subgroup_max_size: 32, transient_saves_memory: false }`

What you did

I'm trying to build my application with purely transparent feature. Like a mini game overlay on user screen.

What went wrong

  • It does not work like what I want. All I got is a screen that covered with black and the red square that i created. The black space supposed to be transparent but seem it doesn't work anyway.

Additional information

My code (I also tried the example from bevy engine to see if it still work for me but yeah, its not...sadly):

use bevy::{
    prelude::*,
    window::{CompositeAlphaMode, WindowResolution},
};

fn main() {
    App::new()
        .insert_resource(ClearColor(Color::NONE))
        .add_plugins(DefaultPlugins.set(WindowPlugin {
            primary_window: Some(Window {
                title: "Task Bar Hero".into(),
                decorations: false,
                transparent: true,
                resolution: WindowResolution::new(1280, 720),
                position: WindowPosition::Centered(MonitorSelection::Primary),
                resizable: false,
                // #[cfg(target_os = "macos")]
                // composite_alpha_mode: CompositeAlphaMode::PostMultiplied,
                // #[cfg(target_os = "linux")]
                // composite_alpha_mode: CompositeAlphaMode::PreMultiplied,
                ..default()
            }),
            ..default()
        }))
        // .init_state::<GameState>()
        .add_systems(Startup, setup)
        .run();
}

fn setup(mut commands: Commands) {
    commands.spawn(Camera2d);
    commands.spawn(Sprite {
        color: Color::srgb(0.8, 0.2, 0.2),
        custom_size: Some(Vec2::splat(100.0)),
        ..default()
    });
}
  • screenshot:

  • logs (there are no error, i guess):
2026-08-11T14:54:34.179575Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Windows 11 Home Single Language", kernel: "26200", cpu: "AMD Ryzen 7 5800H with Radeon Graphics", core_count: "8", memory: "15.4 GiB" }
2026-08-11T14:54:34.635862Z  INFO bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce RTX 3060 Laptop GPU", vendor: 4318, device: 9504, device_type: DiscreteGpu, device_pci_bus_id: "0000:01:00.0", driver: "NVIDIA", driver_info: "591.86", backend: Vulkan, subgroup_min_size: 32, subgroup_max_size: 32, transient_saves_memory: false }
2026-08-11T14:54:35.408222Z  INFO bevy_pbr::cluster: GPU clustering is supported on this device.
2026-08-11T14:54:35.408491Z  INFO bevy_render::batching::gpu_preprocessing: GPU preprocessing is fully supported on this device.
2026-08-11T14:54:35.409498Z  INFO bevy_winit::system: Creating new window Task Bar Hero (66v0)

idk where causing the problem but if it still doesnt work, i may need to try implement the transparent feature in the other way... Thanks for reading all of this and sorry for my bad english.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-WindowingPlatform-agnostic interface layer to run your app inC-BugAn unexpected or incorrect behaviorO-WindowsSpecific to the Windows desktop operating systemS-Needs-InvestigationThis issue requires detective work to figure out what's going wrongS-Needs-TestingTesting must be done to verify an issue or fix

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions