{"id":28860508,"url":"https://github.com/bytemeadow/godot-bevy","last_synced_at":"2026-03-08T02:06:35.384Z","repository":{"id":292057272,"uuid":"978847997","full_name":"bytemeadow/godot-bevy","owner":"bytemeadow","description":"A library to use Bevy for Godot projects","archived":false,"fork":false,"pushed_at":"2025-06-19T20:56:40.000Z","size":10213,"stargazers_count":134,"open_issues_count":8,"forks_count":11,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-19T22:16:38.940Z","etag":null,"topics":["bevy","gamedev","godot"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bytemeadow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-06T15:45:14.000Z","updated_at":"2025-06-19T20:10:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"1915bc47-129d-464d-9b0a-ee977b3efd20","html_url":"https://github.com/bytemeadow/godot-bevy","commit_stats":null,"previous_names":["dcvz/godot-bevy","bytemeadow/godot-bevy"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/bytemeadow/godot-bevy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemeadow%2Fgodot-bevy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemeadow%2Fgodot-bevy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemeadow%2Fgodot-bevy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemeadow%2Fgodot-bevy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bytemeadow","download_url":"https://codeload.github.com/bytemeadow/godot-bevy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemeadow%2Fgodot-bevy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260884615,"owners_count":23076886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bevy","gamedev","godot"],"created_at":"2025-06-20T05:00:41.238Z","updated_at":"2026-03-08T02:06:35.332Z","avatar_url":"https://github.com/bytemeadow.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# godot-bevy\n\n[![Discord](https://img.shields.io/discord/1379465862800736258.svg?color=7289da\u0026\u0026logo=discord)](https://discord.gg/gqkeBsH93H)\n[![Current Crates.io Version](https://img.shields.io/crates/v/godot-bevy.svg)](https://crates.io/crates/godot-bevy)\n[![Documentation](https://img.shields.io/badge/docs-latest-blue)](https://docs.rs/godot-bevy/latest/godot_bevy/)\n[![Book](https://img.shields.io/badge/book-read-green)](https://bytemeadow.github.io/godot-bevy-book)\n[![Test Status](https://github.com/bytemeadow/godot-bevy/actions/workflows/ci.yml/badge.svg)](https://github.com/bytemeadow/godot-bevy/actions/workflows/ci.yml)\n[![Rust Version](https://img.shields.io/badge/Rust-1.88.0+-blue)](https://releases.rs/docs/1.88.0)\n![license](https://shields.io/badge/license-MIT%2FApache--2.0-blue)\n\n**godot-bevy** brings Bevy's powerful ECS to Godot, allowing you to write high-performance game logic in Rust while leveraging Godot's excellent editor and rendering capabilities.\n\n---\n\n\u003cdiv align=\"left\" valign=\"middle\"\u003e\n\u003ca href=\"https://runblaze.dev\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.runblaze.dev/logo_dark.png\"\u003e\n   \u003cimg align=\"right\" src=\"https://www.runblaze.dev/logo_light.png\" height=\"102px\"/\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n\u003cbr style=\"display: none;\"/\u003e\n\n_Special thanks to [Blaze](https://runblaze.dev) for their support of this project. They provide high-performance Linux (AMD64 \u0026 ARM64) and Apple Silicon macOS runners for GitHub Actions, greatly reducing our automated build times._\n\n\u003c/div\u003e\n\n## 📚 Documentation\n\n**[Read the godot-bevy Book →](https://bytemeadow.github.io/godot-bevy-book)**\n\nThe book covers everything you need to know:\n- Installation and setup\n- Core concepts and architecture\n- **Plugin system** (opt-in features)\n- Transform system and physics\n- Input handling\n- Examples and best practices\n\n## 🚀 Quick Start\n\nAdd to your `Cargo.toml`:\n\n```toml\n[dependencies]\ngodot-bevy = \"0.11.0\"  # Latest with opt-in plugin system\nbevy = { version = \"0.18\", default-features = false }\ngodot = \"0.4\"\n```\n\nBasic example:\n\n```rust\nuse bevy::prelude::*;\nuse godot::prelude::*;\nuse godot_bevy::prelude::*;\n\n#[bevy_app]\nfn build_app(app: \u0026mut App) {\n    // Add the features you need (v0.8+ opt-in plugin system)\n    app.add_plugins(GodotTransformSyncPlugin::default())  // Transform sync\n        .add_plugins(GodotAudioPlugin);                   // Audio system\n\n    // Print to the Godot console\n    godot_print!(\"Hello from Godot-Bevy!\");\n\n    // Add your game systems\n    app.add_systems(Update, position_system);\n}\n\n// A system is a normal Rust function. This system moves all Node2Ds to the right, such as Sprite2Ds.\n//\n// The `transform` parameter is a Bevy `Query` that matches all `Transform` components.\n// `Transform` is a Godot-Bevy-provided component that matches all Node2Ds in the scene.\n// (https://docs.rs/godot-bevy/latest/godot_bevy/plugins/core/transforms/struct.Transform.html)\n//\n// For more information on Bevy Components, Systems, and Queries, see:\n// (https://bevy.org/learn/quick-start/getting-started/ecs/).\nfn position_system(mut transform: Query\u003c\u0026mut Transform\u003e) {\n    // For single matches, you can use `single_mut()` instead:\n    // `if let Ok(mut transform) = transform.single_mut() {`\n    for mut transform in transform.iter_mut() {\n        // Move the node to the right.\n        transform.translation.x += 1.0;\n    }\n}\n\n```\n\n## 🔧 Plugin System (v0.8+)\n\ngodot-bevy now uses an **opt-in plugin system** for maximum efficiency:\n\n```rust\n// Minimal setup - only core features\n#[bevy_app]\nfn build_app(app: \u0026mut App) {\n    // Scene tree and assets included by default\n    app.add_systems(Update, my_systems);\n}\n\n// Add specific features as needed\n#[bevy_app]\nfn build_app(app: \u0026mut App) {\n    app.add_plugins(GodotTransformSyncPlugin::default())  // Transform sync\n        .add_plugins(GodotAudioPlugin)                    // Audio system\n        .add_plugins(BevyInputBridgePlugin);              // Input handling\n}\n\n// Or everything at once (like v0.7.x)\n#[bevy_app]\nfn build_app(app: \u0026mut App) {\n    app.add_plugins(GodotDefaultPlugins);\n}\n```\n\n**Benefits**: Smaller binaries, better performance, clearer dependencies. See the [Plugin System Guide](https://bytemeadow.github.io/godot-bevy-book?page=getting-started/plugins.html) for details.\n\n## 🎮 Examples\n\nCheck out the [examples](./examples) directory:\n- **[2D Platformer](./examples/platformer-2d)** - Physics-based platformer\n- **[Dodge the Creeps](./examples/dodge-the-creeps-2d)** - Classic arcade game\n- **[Simple Movement](./examples/simple-node2d-movement)** - Basic transform usage\n\n## ✨ Inspiration and Acknowledgements\n\nThis library was inspired by and originally built upon the work of [bevy_godot](https://github.com/rand0m-cloud/bevy_godot), which provided similar functionality for Godot 3. `godot-bevy` extends this concept to support Godot 4 and Bevy 0.16. It has now diverged quite a bit.\n\n## ⊹ Version Compatibility Matrix\n\n| `godot-bevy` | Bevy | Godot-Rust | Godot |\n|--------------|------|------------|-------|\n| 0.11.x       | 0.18 | 0.4        | 4.6.x |\n| 0.10.x       | 0.17 | 0.4        | 4.5.x |\n| 0.9.2        | 0.16 | 0.4        | 4.5.x |\n| 0.9.x        | 0.16 | 0.3        | 4.4.x |\n| 0.8.x        | 0.16 | 0.3        | 4.4.x |\n| 0.7.x        | 0.16 | 0.3        | 4.4.x |\n\n## 🦀 MSRV\n\nThe minimum supported Rust version is 1.88.0.\n\nThe MSRV is the minimum Rust version that can be used to compile each crate.\n\n## 📕 License\n\ngodot-bevy is distributed under the terms of both the MIT license and the Apache License (Version 2.0).\nSee [LICENSE-APACHE](./LICENSE-APACHE) and [LICENSE-MIT](./LICENSE-MIT) for details. Opening a pull\nrequest is assumed to signal agreement with these licensing terms.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n### Developing environment\n\nIf you're on MacOS or Linux, you can quickly get started developing against this\npackage using https://devenv.sh/, and (optionally) https://direnv.net/. Once\nthey are setup/installed, you can leverage `devenv shell` in the root of this\npackage to setup a development environment that includes all system\ndependencies, rust, godot, and other developer tools used in this package. Check\nout [devenv.nix](./devenv.nix) for details. You can, of course, skip this and\nuse system-installed tooling of your own; but keep in mind that your system\ndependency versions (like Godot) may drift from what other contributors or our\nCI tooling use.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytemeadow%2Fgodot-bevy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytemeadow%2Fgodot-bevy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytemeadow%2Fgodot-bevy/lists"}