#texture-atlas #bevy-ui #texture #bevy #atlas #ui #graphics


Draw images from texture atlases with the Bevy UI

19 unstable releases (3 breaking)

0.4.1 Apr 6, 2023
0.4.0 Mar 20, 2023
0.3.0 Mar 11, 2023
0.2.4 Feb 1, 2023
0.1.8 Sep 30, 2022

#888 in Game dev

Download history 2/week @ 2024-02-14 7/week @ 2024-02-21 4/week @ 2024-02-28 2/week @ 2024-03-06 4/week @ 2024-03-13 42/week @ 2024-03-27 60/week @ 2024-04-03

102 downloads per month


142 lines


crates.io MIT/Apache 2.0 crates.io

Draw images from texture atlases with the Bevy UI.


  • Versions 0.3 and 0.4 support Bevy 0.10
  • Version 0.2 supports Bevy 0.9
  • Version 0.1 supports Bevy 0.8


To use this crate, add its dependency to your project's Cargo.toml:

bevy_mod_ui_texture_atlas_image = "0.3"

or with Cargo:

cargo add bevy_mod_ui_texture_atlas_image


  • UiAtlasImage

    The texture atlas image of the node.

  • ImageTint

    The tint color of the image.


  • AtlasImageBundle

    The bundle of components needed to display an image from a TextureAtlas with the Bevy UI.


The UiAtlasImagePlugin plugin must be added to your Bevy App:

use bevy_mod_ui_texture_atlas_image::*;

fn main () {
        // ..rest of app

Then you can spawn an AtlasImageBundle to draw images from a TextureAtlas with the Bevy UI:

    .spawn(AtlasImageBundle {
        atlas_image: UiAtlasImage { 
            atlas: texture_atlas_handle.clone(),
            index: 5

The differences between an AtlasImageBundle and an ImageBundle are that

  • Instead of a UiImage component, AtlasImageBundle has a UiAtlasImage component that sets the image displayed by the node.
  • Instead of a BackgroundColor component, AtlasImageBundle has an ImageTint component that sets the color tint of the image.


  • Displaying a single image from a texture atlas:
    cargo --run --example minimal
  • Displaying three tiles from a texture atlas grid alongside the atlas's source image:
    cargo --run --example tiles
  • Displaying images from a texture atlas with an alpha channel.
    cargo --run --example alpha
  • Displaying images from a texture atlas with clipping.
    cargo --run --example clipped


~1M SLoC