[][src]Crate bevy

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::build()
       .add_system(hello_world_system.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 components. 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

app

Build bevy apps, create plugins, and read events.

asset

Load and store assets and resources for Apps.

audio

Provides types and plugins for audio playback.

core

Contains core plugins and utilities for time.

diagnostic

Useful diagnostic plugins and types for bevy apps.

dynamic_plugin
ecs

Bevy's entity-component-system.

gltf

Support for GLTF file loading.

input

Resources and events for inputs, e.g. mouse/keyboard, touch, gamepads, etc.

math

Math types (Vec3, Mat4, Quat, etc) and helpers.

pbr

Physically based rendering. Note: true PBR has not yet been implemented; the name pbr is aspirational.

prelude

use bevy::prelude::*; to import common components, bundles, and plugins.

property

Dynamically interact with struct fields and names.

render

Cameras, meshes, textures, shaders, and pipelines.

scene

Save/load collections of entities and components to/from file.

sprite

Items for sprites, rects, texture atlases, etc.

tasks

Pools for async, IO, and compute tasks.

text

Text drawing, styling, and font assets.

transform

Local and global transforms (e.g. translation, scale, rotation).

type_registry

Registered types and components can be used when loading scenes.

ui

User interface components and widgets.

utils
wgpu

A render backend utilizing wgpu.

window

Configuration, creation, and management of one or more windows.

winit

Structs

DefaultPlugins
MinimalPlugins