bevy/
lib.rs

1#![cfg_attr(docsrs, feature(doc_auto_cfg))]
2
3//! [![Bevy Logo](https://bevyengine.org/assets/bevy_logo_docs.svg)](https://bevyengine.org)
4//!
5//! Bevy is an open-source modular game engine built in Rust, with a focus on developer productivity
6//! and performance.
7//!
8//! Check out the [Bevy website](https://bevyengine.org) for more information, read the
9//! [Quick Start Guide](https://bevyengine.org/learn/quick-start/introduction) for a step-by-step introduction, and [engage with our
10//! community](https://bevyengine.org/community/) if you have any questions or ideas!
11//!
12//! ## Example
13//!
14//! Here is a simple "Hello World" Bevy app:
15//! ```
16//! use bevy::prelude::*;
17//!
18//! fn main() {
19//!    App::new()
20//!        .add_systems(Update, hello_world_system)
21//!        .run();
22//! }
23//!
24//! fn hello_world_system() {
25//!    println!("hello world");
26//! }
27//! ```
28//!
29//! Don't let the simplicity of the example above fool you. Bevy is a [fully featured game engine](https://bevyengine.org)
30//! and it gets more powerful every day!
31//!
32//! ## This Crate
33//!
34//! The `bevy` crate is just a container crate that makes it easier to consume Bevy subcrates.
35//! The defaults provide a "full" engine experience, but you can easily enable / disable features
36//! in your project's `Cargo.toml` to meet your specific needs. See Bevy's `Cargo.toml` for a full
37//! list of features available.
38//!
39//! If you prefer, you can also consume the individual bevy crates directly.
40//! Each module in the root of this crate, except for the prelude, can be found on crates.io
41//! with `bevy_` appended to the front, e.g. `app` -> [`bevy_app`](https://docs.rs/bevy_app/*/bevy_app/).
42#![doc = include_str!("../docs/cargo_features.md")]
43#![doc(
44    html_logo_url = "https://bevyengine.org/assets/icon.png",
45    html_favicon_url = "https://bevyengine.org/assets/icon.png"
46)]
47#![no_std]
48
49pub use bevy_internal::*;
50
51// Wasm does not support dynamic linking.
52#[cfg(all(feature = "dynamic_linking", not(target_family = "wasm")))]
53#[expect(
54    unused_imports,
55    clippy::single_component_path_imports,
56    reason = "This causes bevy to be compiled as a dylib when using dynamic linking, and as such cannot be removed or changed without affecting dynamic linking."
57)]
58use bevy_dylib;