MCPcopy Index your code
hub / github.com/Trouv/bevy_ecs_ldtk

github.com/Trouv/bevy_ecs_ldtk @v0.15.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.15.0 ↗ · + Follow
524 symbols 828 edges 66 files 119 documented · 23% updated 3d agov0.15.0 · 2026-07-05★ 87738 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

bevy_ecs_ldtk

crates.io docs.rs crates.io MIT/Apache 2.0 Bevy tracking CI

bevy_ecs_ldtk is an ECS-friendly LDtk plugin for Bevy. It allows you to use LDtk projects as an asset, spawn levels, and insert bevy components/bundles on LDtk entities/tiles. This plugin is ECS-friendly, partly for its internal usage of ECS that provides extra functionality to users, and partly for its usage of bevy_ecs_tilemap for rendering tilemaps. This is all behind an ergonomic API, providing low-boilerplate solutions to common use cases. For less common use cases, strategies that leverage this plugin's ECS constructs are also available.

platformer-example

cargo run --example platformer --release

Features

  • Support for all layer types
  • Support for loading external levels
  • Hot reloading
  • Solutions for easily loading/unloading levels, changing levels, loading level neighbors...
  • Low-boilerplate solutions for spawning bundles for LDtk Entities and IntGrid tiles using derive macros (other options available)
  • serde types for LDtk based off LDtk's QuickType loader, but with several QoL improvements
  • Support for Wasm (and tile spacing) through "atlas" feature

Documentation

Documentation for this plugin is available in two main places. - API reference on docs.rs - Tutorials, Explanation, and Guides in the bevy_ecs_ldtk book

In the book, the following chapters are good jumping-off points for beginners: - Tile-based Game tutorial - Level Selection explanation - Game Logic Integration explanation

Cargo examples are also available in this repository:

$ cargo run --example example-name

Compatibility

bevy bevy_ecs_tilemap LDtk bevy_ecs_ldtk
0.19 0.19 1.5.3 0.15
0.18 0.18 1.5.3 0.14
0.17 0.17 1.5.3 0.13
0.16 0.16 1.5.3 0.12
0.15 0.15 1.5.3 0.11
0.14 0.14 1.5.3 0.10
0.12 0.12 1.5.3 0.9
0.11 0.11 1.3.3 0.8
0.10 0.10 1.1 0.7
0.10 0.10 1.1 0.6
0.9 0.9 1.1 0.5
0.8 0.7 1.1 0.4
0.7 0.6 1.1 0.3
0.6 0.5 0.9 0.2
0.6 0.5 0.9 0.1

Asset Credits

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 181
Method 155
Class 145
Enum 33
Interface 10

Languages

Rust100%

Modules by API surface

src/ldtk/mod.rs49 symbols
src/utils.rs34 symbols
src/assets/ldtk_json_with_metadata.rs29 symbols
src/ldtk/loaded_level.rs28 symbols
src/assets/ldtk_project.rs22 symbols
src/components/mod.rs21 symbols
src/tile_makers.rs19 symbols
src/ldtk/raw_level_accessor.rs16 symbols
src/assets/ldtk_project_data.rs15 symbols
examples/tile_based_game.rs14 symbols
src/ldtk/fake.rs13 symbols
src/assets/level_metadata_accessor.rs13 symbols

For agents

$ claude mcp add bevy_ecs_ldtk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page