These examples demonstrate the main features of Bevy and how to use them.
To run an example, use the command cargo run --example <Example>
.
Example | Main | Description |
---|---|---|
hello_world |
hello_world.rs |
Runs a minimal example that outputs "hello world" |
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 |
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 |
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 |
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 |
Example | File | Description |
---|---|---|
audio |
audio/audio.rs |
Shows how to load and play an audio file |
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 |
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) |
Example | File | Description |
---|---|---|
breakout |
game/breakout.rs |
An implementation of the classic game "Breakout" |
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 |
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 |
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) |
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 |
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 |