Fast Tilemap for Bevy
GPU-accelerated tilemap functionality for bevy.
Aims at rendering tilemaps with lightning speed by using just a single quad per map (layer)
and offloading the actual rendering to GPU.
This should be faster than most other bevy tilemap implementations as of this writing.
Features
- Very high rendering performance.
- Tilemaps can be very large or have many "layers"
- Rectangular and isometric tile maps.
Screenshots

How it works
The whole tilemap (-layer) is rendered as a single quad and a shader cares for rendering the correct tiles at the correct position.
Thus each map layer works with two textures: One with integer data type, constructed and maintained
internally for storing for each tile position which tile index should be displayed there. And one
that contains all the tiles which should be provided by you (see [assets/](assets/)).
Limitations
- Only tested on Windows, no WASM support
- Overlapping "tiles" can not be rendered due to how the shader is designed, this may be changed in the future.
- No direct animation support
Related work
If you dont require all of bevy_fast_tilemaps performance and are looking for
more features and maturity, take a look at
bevy_ecs_tilemap which (among others) inspired
this work.
Examples
Check out the examples/ folder to get an overview. You can run the examples like this:
Bevy Compatibility
| bevy | bevy_fast_tilemap |
|---|---|
| 0.10.1 | 0.1.0 |
| 0.10.1 | 0.2.0 |