bevy/
lib.rs

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