Cargo Features

bevy = { version = "0.12.1", default-features = false, features = ["dynamic_linking", "bevy_animation", "bevy_asset", "bevy_audio", "bevy_core_pipeline", "bevy_dynamic_plugin", "bevy_gilrs", "bevy_gltf", "bevy_pbr", "bevy_render", "bevy_scene", "bevy_sprite", "bevy_text", "bevy_ui", "bevy_winit", "bevy_gizmos", "trace_chrome", "trace_tracy", "trace_tracy_memory", "trace", "wgpu_trace", "exr", "hdr", "png", "tga", "jpeg", "bmp", "webp", "basis-universal", "dds", "ktx2", "pnm", "zlib", "zstd", "flac", "mp3", "vorbis", "wav", "minimp3", "symphonia-aac", "symphonia-all", "symphonia-flac", "symphonia-isomp4", "symphonia-vorbis", "symphonia-wav", "serialize", "multi-threaded", "async-io", "wayland", "x11", "subpixel_glyph_atlas", "bevy_ci_testing", "animation", "android_shared_stdcxx", "detailed_trace", "tonemapping_luts", "accesskit_unix", "glam_assert", "debug_glam_assert", "default_font", "shader_format_glsl", "shader_format_spirv", "pbr_transmission_textures", "webgl2", "asset_processor", "file_watcher", "embedded_watcher"] }
default = android_shared_stdcxx, animation, bevy_asset, bevy_audio, bevy_core_pipeline, bevy_gilrs, bevy_gizmos, bevy_gltf, bevy_pbr, bevy_render, bevy_scene, bevy_sprite, bevy_text, bevy_ui, bevy_winit, default_font, hdr, multi-threaded, png, tonemapping_luts, vorbis, webgl2, x11

These default features are set whenever bevy is added without default-features = false somewhere in the dependency tree.


Force dynamic linking, which improves iterative compile times

Enables bevy_dylib, dynamic_linking of bevy_internal

bevy_animation animation

Provides animation functionality

Enables bevy_animation of bevy_internal

bevy_asset default bevy_core_pipeline bevy_gltf bevy_pbr bevy_scene bevy_text

Provides asset functionality

Enables bevy_asset of bevy_internal

bevy_audio default

Provides audio functionality

Enables bevy_audio of bevy_internal

bevy_core_pipeline default bevy_pbr bevy_sprite bevy_ui = bevy_asset, bevy_render

Provides cameras and other basic render pipeline features

Enables bevy_core_pipeline of bevy_internal


Plugin for dynamic loading (using libloading)

Enables bevy_dynamic_plugin of bevy_internal

bevy_gilrs default

Adds gamepad support

Enables bevy_gilrs of bevy_internal

bevy_gltf default = bevy_asset, bevy_pbr, bevy_scene

glTF support

Enables bevy_gltf of bevy_internal

bevy_pbr default bevy_gltf = bevy_asset, bevy_core_pipeline, bevy_render

Adds PBR rendering

Enables bevy_pbr of bevy_internal

bevy_render default bevy_core_pipeline bevy_pbr bevy_sprite

Provides rendering functionality

Enables bevy_render of bevy_internal

bevy_scene default bevy_gltf = bevy_asset

Provides scene functionality

Enables bevy_scene of bevy_internal

bevy_sprite default bevy_text bevy_ui = bevy_core_pipeline, bevy_render

Provides sprite functionality

Enables bevy_sprite of bevy_internal

bevy_text default bevy_ui = bevy_asset, bevy_sprite

Provides text functionality

Enables bevy_text of bevy_internal

bevy_ui default = bevy_core_pipeline, bevy_sprite, bevy_text

A custom ECS-driven UI framework

Enables bevy_ui of bevy_internal

bevy_winit default

winit window and input backend

Enables bevy_winit of bevy_internal

bevy_gizmos default

Adds support for rendering gizmos

Enables bevy_gizmos of bevy_internal

trace_chrome = trace

Tracing support, saving a file in Chrome Tracing format

Enables trace_chrome of bevy_internal

trace_tracy = trace

Tracing support, exposing a port for Tracy

Enables trace_tracy of bevy_internal

trace_tracy_memory = trace

Tracing support, with memory profiling, exposing a port for Tracy

Enables trace_tracy and trace_tracy_memory of bevy_internal

trace trace_chrome? trace_tracy? trace_tracy_memory?

Tracing support

Enables trace of bevy_internal


Save a trace of all wgpu calls

Enables wgpu_trace of bevy_internal


EXR image format support

Enables exr of bevy_internal

hdr default

HDR image format support

Enables hdr of bevy_internal

png default

PNG image format support

Enables png of bevy_internal


TGA image format support

Enables tga of bevy_internal


JPEG image format support

Enables jpeg of bevy_internal


BMP image format support

Enables bmp of bevy_internal


WebP image format support

Enables webp of bevy_internal


Basis Universal compressed texture support

Enables basis-universal of bevy_internal


DDS compressed texture support

Enables dds of bevy_internal

ktx2 tonemapping_luts

KTX2 compressed texture support

Enables ktx2 of bevy_internal


PNM image format support, includes pam, pbm, pgm and ppm

Enables pnm of bevy_internal


For KTX2 supercompression

Enables zlib of bevy_internal

zstd tonemapping_luts

For KTX2 supercompression

Enables zstd of bevy_internal


FLAC audio format support

Enables flac of bevy_internal


MP3 audio format support

Enables mp3 of bevy_internal

vorbis default

OGG/VORBIS audio format support

Enables vorbis of bevy_internal


WAV audio format support

Enables wav of bevy_internal


MP3 audio format support (through minimp3)

Enables minimp3 of bevy_internal


AAC audio format support (through symphonia)

Enables symphonia-aac of bevy_internal


AAC, FLAC, MP3, MP4, OGG/VORBIS, and WAV audio formats support (through symphonia)

Enables symphonia-all of bevy_internal


FLAC audio format support (through symphonia)

Enables symphonia-flac of bevy_internal


MP4 audio format support (through symphonia)

Enables symphonia-isomp4 of bevy_internal


OGG/VORBIS audio format support (through symphonia)

Enables symphonia-vorbis of bevy_internal


WAV audio format support (through symphonia)

Enables symphonia-wav of bevy_internal


Enable serialization support through serde

Enables serialize of bevy_internal

multi-threaded default

Enables multithreaded parallelism in the engine. Disabling it forces all engine tasks to run on a single thread.

Enables multi-threaded of bevy_internal


Use async-io's implementation of block_on instead of futures-lite's implementation. This is preferred if your application uses async-io.

Enables async-io of bevy_internal


Wayland display server support

Enables wayland of bevy_internal

x11 default

X11 display server support

Enables x11 of bevy_internal


Enable rendering of font glyphs using subpixel accuracy

Enables subpixel_glyph_atlas of bevy_internal


Enable systems that allow for automated testing on CI

Enables bevy_ci_testing of bevy_internal

animation default = bevy_animation

Enable animation support, and glTF animation loading

Enables animation of bevy_internal

android_shared_stdcxx default

Enable using a shared stdlib for cxx on Android

Enables android_shared_stdcxx of bevy_internal


Enable detailed trace event logging. These trace events are expensive even when off, thus they require compile time opt-in

Enables detailed_trace of bevy_internal

tonemapping_luts default = ktx2, zstd

Include tonemapping Look Up Tables KTX2 files. If everything is pink, you need to enable this feature or change the Tonemapping method on your Camera2dBundle or Camera3dBundle.

Enables tonemapping_luts of bevy_internal


Enable AccessKit on Unix backends (currently only works with experimental screen readers and forks.)

Enables accesskit_unix of bevy_internal


Enable assertions to check the validity of parameters passed to glam

Enables glam_assert of bevy_internal


Enable assertions in debug builds to check the validity of parameters passed to glam

Enables debug_glam_assert of bevy_internal

default_font default

Include a default font, containing only ASCII characters, at the cost of a 20kB binary size increase

Enables default_font of bevy_internal


Enable support for shaders in GLSL

Enables shader_format_glsl of bevy_internal


Enable support for shaders in SPIR-V

Enables shader_format_spirv of bevy_internal


Enable support for transmission-related textures in the StandardMaterial, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUs

Enables pbr_transmission_textures of bevy_internal

webgl2 default

Enable some limitations to be able to use WebGL2. If not enabled, it will default to WebGPU in Wasm. Please refer to the WebGL2 and WebGPU section of the examples README for more information on how to run Wasm builds with WebGPU.

Enables webgl of bevy_internal


Enables the built-in asset processor for processed assets.

Enables asset_processor of bevy_internal


Enables watching the filesystem for Bevy Asset hot-reloading

Enables file_watcher of bevy_internal


Enables watching in memory asset providers for Bevy Asset hot-reloading

Enables embedded_watcher of bevy_internal