| Crates.io | bevy_tiled_background |
| lib.rs | bevy_tiled_background |
| version | 0.1.3 |
| created_at | 2025-12-20 21:57:00.609715+00 |
| updated_at | 2026-01-03 11:16:02.410207+00 |
| description | A Bevy plugin for creating tiled, animated UI backgrounds with rotation, staggering, and scrolling |
| homepage | https://github.com/mirsella/bevy_tiled_background |
| repository | https://github.com/mirsella/bevy_tiled_background |
| max_upload_size | |
| id | 1997017 |
| size | 641,710 |
A Bevy plugin for creating tiled, animated UI backgrounds with support for rotation, staggering, spacing, and scrolling animation.

cargo add bevy_tiled_background
Or add to your Cargo.toml:
[dependencies]
bevy_tiled_background = "0.1"
use bevy::prelude::*;
use bevy_tiled_background::{TiledBackgroundPlugin, TiledBackgroundMaterial};
fn main() {
App::new()
.add_plugins((DefaultPlugins, TiledBackgroundPlugin))
.add_systems(Startup, setup)
.run();
}
fn setup(
mut commands: Commands,
asset_server: Res<AssetServer>,
mut materials: ResMut<Assets<TiledBackgroundMaterial>>,
) {
commands.spawn(Camera2d);
let material = materials.add(TiledBackgroundMaterial {
pattern_color: LinearRgba::WHITE,
scale: 0.5,
rotation: 35f32.to_radians(),
stagger: 0.5,
spacing: 0.8,
scroll_speed: Vec2::new(20.0, 0.0),
pattern_texture: asset_server.load("my_pattern.png"),
});
commands.spawn((
Node {
width: Val::Percent(100.0),
height: Val::Percent(100.0),
..default()
},
MaterialNode(material),
));
}
| Property | Type | Description |
|---|---|---|
pattern_color |
LinearRgba |
Tint color (alpha controls opacity) |
scale |
f32 |
Size multiplier (1.0 = native texture size) |
rotation |
f32 |
Rotation angle in radians |
stagger |
f32 |
Row offset (0.5 = half-tile shift for brick pattern) |
spacing |
f32 |
How much of each tile the image fills (0.0-1.0) |
scroll_speed |
Vec2 |
Animation speed in pixels per second |
pattern_texture |
Handle<Image> |
The texture to tile |
| bevy | bevy_tiled_background |
|---|---|
| 0.16 | 0.1 |
Licensed under either of:
at your option.