|  | ||
|---|---|---|
| .. | ||
| 2d | ||
| 3d | ||
| app | ||
| asset | ||
| audio | ||
| diagnostics | ||
| ecs | ||
| game | ||
| input | ||
| scene | ||
| shader | ||
| ui | ||
| window | ||
| hello_world.rs | ||
| README.md | ||
Examples
These examples demonstrate the main features of Bevy and how to use them.
To run an example, use the command cargo run --example <Example>, and add the option --features x11 or --features wayland to force the example to run on a specific window compositor, e.g.
cargo run --features wayland hello_world
Hello, World!
| Example | Main | Description | 
|---|---|---|
| hello_world | hello_world.rs | Runs a minimal example that outputs "hello world" | 
2D Rendering
| Example | Main | Description | 
|---|---|---|
| sprite | 2d/sprite.rs | Renders a sprite | 
| sprite_sheet | 2d/sprite_sheet.rs | Renders an animated sprite | 
| texture_atlas | 2d/texture_atlas.rs | Generates a texture atlas (sprite sheet) from individual sprites | 
3D Rendering
| Example | File | Description | 
|---|---|---|
| load_model | 3d/load_model.rs | Loads and renders a simple model | 
| msaa | 3d/msaa.rs | Configures MSAA (Multi-Sample Anti-Aliasing) for smoother edges | 
| parenting | 3d/parenting.rs | Demonstrates parent->child relationships and relative transformations | 
| 3d_scene | 3d/3d_scene.rs | Simple 3D scene with basic shapes and lighting | 
| spawner | 3d/spawner.rs | Renders a large number of cubes with changing position and material | 
| texture | 3d/texture.rs | Shows configuration of texture materials | 
| z_sort_debug | 3d/z_sort_debug.rs | Visualizes camera Z-ordering | 
Application
| Example | File | Description | 
|---|---|---|
| empty | app/empty.rs | An empty application (does nothing) | 
| empty_defaults | app/empty_defaults.rs | An empty application with default plugins | 
| headless | app/headless.rs | An application that runs without default plugins | 
| plugin | app/plugin.rs | Demonstrates the creation and registration of a custom plugin | 
| thread_pool_resources | app/thread_pool_resources.rs | Creates and customizes the internal thread pool | 
Assets
| Example | File | Description | 
|---|---|---|
| asset_loading | asset/asset_loading.rs | Demonstrates various methods to load assets | 
| hot_asset_reloading | asset/hot_asset_reloading.rs | Demonstrates automatic reloading of assets when modified on disk | 
Audio
| Example | File | Description | 
|---|---|---|
| audio | audio/audio.rs | Shows how to load and play an audio file | 
Diagnostics
| Example | File | Description | 
|---|---|---|
| custom_diagnostic | diagnostics/custom_diagnostic.rs | Shows how to create a custom diagnostic | 
| print_diagnostics | diagnostics/print_diagnostics.rs | Add a plugin that prints diagnostics to the console | 
ECS (Entity Component System)
| Example | File | Description | 
|---|---|---|
| event | ecs/event.rs | Illustrates event creation, activation, and reception | 
| ecs_guide | ecs/ecs_guide.rs | Full guide to Bevy's ECS | 
| startup_system | ecs/startup_system.rs | Demonstrates a startup system (one that runs once when the app starts up) | 
Games
| Example | File | Description | 
|---|---|---|
| breakout | game/breakout.rs | An implementation of the classic game "Breakout" | 
Input
| Example | File | Description | 
|---|---|---|
| mouse_input | input/mouse_input.rs | Demonstrates handling a mouse button press/release | 
| mouse_input_events | input/mouse_input_events.rs | Prints out all mouse events (buttons, movement, etc.) | 
| keyboard_input | input/keyboard_input.rs | Demonstrates handling a key press/release | 
| keyboard_input_events | input/keyboard_input_events.rs | Prints out all keyboard events | 
Scene
| Example | File | Description | 
|---|---|---|
| scene | scene/scene.rs | Demonstrates loading from and saving scenes to files | 
| properties | scene/properties.rs | Demonstrates Properties (similar to reflections in other languages) in Bevy | 
Shaders
| Example | File | Description | 
|---|---|---|
| shader_custom_material | shader/shader_custom_material.rs | Illustrates creating a custom material and a shader that uses it | 
| shader_defs | shader/shader_defs.rs | Demonstrates creating a custom material that uses "shaders defs" (a tool to selectively toggle parts of a shader) | 
UI (User Interface)
| Example | File | Description | 
|---|---|---|
| button | ui/button.rs | Illustrates creating and updating a button | 
| text | ui/text.rs | Illustrates creating and updating text | 
| font_atlas_debug | ui/font_atlas_debug.rs | Illustrates how FontAtlases are populated (used to optimize text rendering internally) | 
| ui | ui/ui.rs | Illustrates various features of Bevy UI | 
Window
| Example | File | Description | 
|---|---|---|
| clear_color | window/clear_color.rs | Creates a solid color window | 
| multiple_windows | window/multiple_windows.rs | Creates two windows and cameras viewing the same mesh | 
| window_settings | window/window_settings.rs | Demonstrates customizing default window settings | 
