Expand description


Materials for sprites in Bevy


MIT licensed unsafe forbidden Crates.io Docs.rs dependency status

This bevy plugin changes the bevy_sprite implementation using a material.

You might be interested in bevy_ui_material which is a similar plugin for bevy_ui instead of bevy_sprite.

The new Sprite component is identical to bevy_sprite but without the color field.

The new SpriteBundle component bundle replaces the texture field (Handle<Image>) by a material field (Handle<ColorMaterial>)


The goal of this plugin is to allow seamless edition of sprites texture and color which was removed with bevy 0.6.

This is very useful if you have many sprites and you have, for example, various themes and don’t want to query every sprite to change its color.

If you have a dedicated artist, you probably don’t use the sprite color tinting field anyway, so the base implementation is perfect for you. This is specifically if you want to “massively update” the sprite color and maybe the texture as well.


This plugin is very straightforward, and simply plugs itself in the bevy_sprite render pipeline (in the extraction stage). This system might be slower than the base implementation, because of the extra Handle involved.

Also, there might be compatibility issues, so feel free to open issues or merge requests.

This plugin should work fine if you use both the plugin and the base sprite implementation


A 2d material that renders 2d meshes with a texture tinted by a uniform color

Plugin to use sprites with materials.

2D Sprite component

Component bundle for 2D sprites with a ColorMaterial

2D Texture Atlas Sprite Component