Crate bevy[−][src]
Expand description
Bevy is an open-source modular game engine built in Rust, with a focus on developer productivity and performance.
Check out the Bevy website for more information, read the Bevy Book for a step-by-step guide, and engage with our community if you have any questions or ideas!
Example
Here is a simple “Hello World” Bevy app:
use bevy::prelude::*;
fn main() {
App::new()
.add_system(hello_world_system)
.run();
}
fn hello_world_system() {
println!("hello world");
}
Don’t let the simplicity of the example above fool you. Bevy is a fully featured game engine and it gets more powerful every day!
This Crate
The bevy
crate is just a container crate that makes it easier to consume Bevy subcrates.
The defaults provide a “full” engine experience, but you can easily enable / disable features
in your project’s Cargo.toml
to meet your specific needs. See Bevy’s Cargo.toml
for a full
list of features available.
If you prefer, you can also consume the individual bevy crates directly.
Each module in the root of this crate, except for the prelude, can be found on crates.io
with bevy_
appended to the front, e.g. app
-> bevy_app
.
Modules
Build bevy apps, create plugins, and read events.
Load and store assets and resources for Apps.
Provides types and plugins for audio playback.
Contains core plugins and utilities for time.
Core render pipeline.
Useful diagnostic plugins and types for bevy apps.
Bevy’s entity-component-system.
Bevy interface with GilRs - Game Input Library for Rust to handle gamepad inputs
Support for GLTF file loading.
Resources and events for inputs, e.g. mouse/keyboard, touch, gamepads, etc.
Logging capabilities
Math types (Vec3, Mat4, Quat, etc) and helpers.
Physically based rendering.
use bevy::prelude::*;
to import common components, bundles, and plugins.
Type reflection used for dynamically interacting with rust types.
Cameras, meshes, textures, shaders, and pipelines.
Save/load collections of entities and components to/from file.
Items for sprites, rects, texture atlases, etc.
Pools for async, IO, and compute tasks.
Text drawing, styling, and font assets.
Local and global transforms (e.g. translation, scale, rotation).
User interface components and widgets.
Various miscellaneous utilities for easing development
Configuration, creation, and management of one or more windows.
Window creation, configuration, and handling
Structs
This plugin group will add all the default plugins:
Minimal plugin group that will add the following plugins: