Cargo Features
[dependencies]
bevy = { version = "0.18.0-rc.2", default-features = false, features = ["2d", "3d", "ui", "dev", "audio", "scene", "picking", "default_app", "default_platform", "common_api", "2d_api", "2d_bevy_render", "3d_api", "3d_bevy_render", "ui_api", "ui_bevy_render", "default_no_std", "mesh_picking", "sprite_picking", "ui_picking", "bevy_ui_debug", "dynamic_linking", "sysinfo_plugin", "bevy_animation", "bevy_asset", "bevy_audio", "bevy_color", "bevy_core_pipeline", "bevy_post_process", "bevy_anti_alias", "bevy_gilrs", "bevy_gltf", "bevy_pbr", "bevy_picking", "bevy_render", "bevy_scene", "bevy_solari", "bevy_sprite", "bevy_sprite_render", "bevy_text", "bevy_ui", "bevy_ui_render", "bevy_window", "bevy_winit", "bevy_image", "bevy_mesh", "bevy_mikktspace", "bevy_camera", "bevy_light", "bevy_shader", "bevy_gizmos", "bevy_gizmos_render", "bevy_dev_tools", "bevy_camera_controller", "free_camera", "pan_camera", "bevy_remote", "bevy_log", "bevy_input_focus", "experimental_bevy_ui_widgets", "experimental_bevy_feathers", "spirv_shader_passthrough", "statically-linked-dxc", "raw_vulkan_init", "trace_chrome", "trace_tracy", "trace_tracy_memory", "trace", "basis-universal", "compressed_image_saver", "bmp", "dds", "exr", "ff", "gif", "hdr", "ktx2", "ico", "jpeg", "png", "pnm", "qoi", "tga", "tiff", "webp", "zlib", "zstd_rust", "zstd_c", "flac", "mp3", "vorbis", "wav", "symphonia-aac", "symphonia-all", "symphonia-flac", "symphonia-isomp4", "symphonia-vorbis", "symphonia-wav", "serialize", "multi_threaded", "async-io", "wayland", "x11", "android-native-activity", "android-game-activity", "bevy_ci_testing", "gltf_animation", "morph", "morph_animation", "android_shared_stdcxx", "detailed_trace", "tonemapping_luts", "smaa_luts", "bluenoise_texture", "dlss", "force_disable_dlss", "accesskit_unix", "glam_assert", "debug_glam_assert", "default_font", "shader_format_glsl", "shader_format_spirv", "shader_format_wesl", "pbr_transmission_textures", "pbr_clustered_decals", "pbr_light_textures", "pbr_multi_layer_material_textures", "pbr_anisotropy_texture", "experimental_pbr_pcss", "pbr_specular_textures", "webgl2", "webgpu", "asset_processor", "file_watcher", "embedded_watcher", "http", "https", "web_asset_cache", "bevy_debug_stepping", "meshlet", "meshlet_processor", "bevy_state", "track_location", "reflect_functions", "reflect_documentation", "reflect_auto_register", "reflect_auto_register_static", "custom_cursor", "ghost_nodes", "async_executor", "std", "critical-section", "libm", "web", "mouse", "keyboard", "gamepad", "touch", "gestures", "hotpatching", "debug"] }
- default = 2d, 3d, ui
-
These default features are set whenever
bevyis added withoutsomewhere in the dependency tree.default-features = false - 2d default = 2d_bevy_render, audio, default_app, default_platform, picking, scene, ui
-
PROFILE: The default 2D Bevy experience. This includes the core Bevy framework, 2D functionality, Bevy UI, scenes, audio, and picking.
- 3d default = 3d_bevy_render, audio, default_app, default_platform, picking, scene, ui
-
PROFILE: The default 3D Bevy experience. This includes the core Bevy framework, 3D functionality, Bevy UI, scenes, audio, and picking.
- ui default 2d 3d = audio, default_app, default_platform, picking, scene, ui_api, ui_bevy_render
-
PROFILE: The default Bevy UI experience. This includes the core Bevy framework, Bevy UI, scenes, audio, and picking.
- dev = bevy_dev_tools, debug, file_watcher
-
COLLECTION: Enable this feature during development to improve the development experience. This adds features like asset hot-reloading and debugging tools. This should not be enabled for published apps!
- audio 2d 3d ui = bevy_audio, vorbis
-
COLLECTION: Features used to build audio Bevy apps.
- scene 2d 3d ui = bevy_scene
-
COLLECTION: Features used to compose Bevy scenes.
- picking 2d 3d ui = bevy_picking, mesh_picking, sprite_picking, ui_picking
-
COLLECTION: Enables picking functionality
- default_app 2d 3d ui ui_api? = async_executor, bevy_asset, bevy_input_focus, bevy_log, bevy_state, bevy_window, custom_cursor, reflect_auto_register
-
COLLECTION: The core pieces that most apps need. This serves as a baseline feature set for other higher level feature collections (such as "2d" and "3d"). It is also useful as a baseline feature set for scenarios like headless apps that require no rendering (ex: command line tools, servers, etc).
- default_platform 2d 3d ui = android-game-activity, android_shared_stdcxx, bevy_gilrs, bevy_winit, default_font, multi_threaded, std, sysinfo_plugin, wayland, webgl2, x11
-
COLLECTION: These are platform support features, such as OS support/features, windowing and input backends, etc.
- common_api 2d_api? 3d_api? ui_api? = bevy_animation, bevy_camera, bevy_color, bevy_gizmos, bevy_image, bevy_mesh, bevy_shader, bevy_text, hdr, png
-
COLLECTION: Default scene definition features. Note that this does not include an actual renderer, such as bevy_render (Bevy's default render backend).
- 2d_api 2d_bevy_render? = bevy_sprite, common_api
-
COLLECTION: Features used to build 2D Bevy apps (does not include a render backend). You generally don't need to worry about this unless you are using a custom renderer.
- 2d_bevy_render 2d = 2d_api, bevy_core_pipeline, bevy_gizmos_render, bevy_post_process, bevy_render, bevy_sprite_render
-
COLLECTION: Bevy's built-in 2D renderer, built on top of
bevy_render. - 3d_api 3d_bevy_render? = bevy_light, bevy_mikktspace, common_api, ktx2, morph, morph_animation, smaa_luts, tonemapping_luts, zstd_rust
-
COLLECTION: Features used to build 3D Bevy apps (does not include a render backend). You generally don't need to worry about this unless you are using a custom renderer.
- 3d_bevy_render 3d = 3d_api, bevy_anti_alias, bevy_core_pipeline, bevy_gizmos_render, bevy_gltf, bevy_pbr, bevy_post_process, bevy_render, gltf_animation
-
COLLECTION: Bevy's built-in 3D renderer, built on top of
bevy_render. - ui_api ui ui_bevy_render? = bevy_ui, common_api, default_app
-
COLLECTION: Features used to build UI Bevy apps (does not include a render backend). You generally don't need to worry about this unless you are using a custom renderer.
- ui_bevy_render ui = bevy_core_pipeline, bevy_render, bevy_ui_render, ui_api
-
COLLECTION: Bevy's built-in UI renderer, built on top of
bevy_render. - default_no_std = bevy_color, bevy_state, critical-section, libm
-
COLLECTION: Recommended defaults for no_std applications
- mesh_picking picking?
-
Provides an implementation for picking meshes
Enables mesh_picking of bevy_internal
- sprite_picking picking?
-
Provides an implementation for picking sprites
Enables sprite_picking of bevy_internal
- ui_picking picking?
-
Provides an implementation for picking UI
Enables ui_picking of bevy_internal
- bevy_ui_debug
-
Provides a debug overlay for bevy UI
Enables bevy_ui_debug of bevy_internal
- dynamic_linking
-
Force dynamic linking, which improves iterative compile times
Enables bevy_dylib, dynamic_linking of bevy_internal
- sysinfo_plugin default_platform?
-
Enables system information diagnostic plugin
Enables sysinfo_plugin of bevy_internal
- bevy_animation common_api?
-
Provides animation functionality
Enables bevy_animation of bevy_internal
- bevy_asset default_app?
-
Provides asset functionality
Enables bevy_asset of bevy_internal
- bevy_audio audio?
-
Provides audio functionality
Enables bevy_audio of bevy_internal
- bevy_color common_api? default_no_std?
-
Provides shared color types and operations
Enables bevy_color of bevy_internal
- bevy_core_pipeline 2d_bevy_render? 3d_bevy_render? ui_bevy_render?
-
Provides cameras and other basic render pipeline features
Enables bevy_core_pipeline of bevy_internal
- bevy_post_process 2d_bevy_render? 3d_bevy_render?
-
Provides post process effects such as depth of field, bloom, chromatic aberration.
Enables bevy_post_process of bevy_internal
- bevy_anti_alias 3d_bevy_render?
-
Provides various anti aliasing solutions
Enables bevy_anti_alias of bevy_internal
- bevy_gilrs default_platform?
-
Adds gamepad support
Enables bevy_gilrs of bevy_internal
- bevy_gltf 3d_bevy_render?
-
glTF support
Enables bevy_gltf of bevy_internal
- bevy_pbr 3d_bevy_render?
-
Adds PBR rendering
Enables bevy_pbr of bevy_internal
- bevy_picking picking?
-
Provides picking functionality
Enables bevy_picking of bevy_internal
- bevy_render 2d_bevy_render? 3d_bevy_render? ui_bevy_render?
-
Provides rendering functionality
Enables bevy_render of bevy_internal
- bevy_scene scene?
-
Provides scene functionality
Enables bevy_scene of bevy_internal
- bevy_solari
-
Provides raytraced lighting (experimental)
Enables bevy_solari of bevy_internal
- bevy_sprite 2d_api?
-
Provides sprite functionality
Enables bevy_sprite of bevy_internal
- bevy_sprite_render 2d_bevy_render?
-
Provides sprite rendering functionality
Enables bevy_sprite_render of bevy_internal
- bevy_text common_api?
-
Provides text functionality
Enables bevy_text of bevy_internal
- bevy_ui ui_api?
-
A custom ECS-driven UI framework
Enables bevy_ui of bevy_internal
- bevy_ui_render ui_bevy_render?
-
Provides rendering functionality for bevy_ui
Enables bevy_ui_render of bevy_internal
- bevy_window default_app?
-
Windowing layer
Enables bevy_window of bevy_internal
- bevy_winit default_platform?
-
winit window and input backend
Enables bevy_winit of bevy_internal
- bevy_image common_api?
-
Load and access image data. Usually added by an image format
Enables bevy_image of bevy_internal
- bevy_mesh common_api?
-
Provides a mesh format and some primitive meshing routines.
Enables bevy_mesh of bevy_internal
- bevy_mikktspace 3d_api?
-
Provides vertex tangent generation for use with bevy_mesh.
Enables bevy_mikktspace of bevy_internal
- bevy_camera common_api?
-
Provides camera and visibility types, as well as culling primitives.
Enables bevy_camera of bevy_internal
- bevy_light 3d_api?
-
Provides light types such as point lights, directional lights, spotlights.
Enables bevy_light of bevy_internal
- bevy_shader common_api?
-
Provides shaders usable through asset handles.
Enables bevy_shader of bevy_internal
- bevy_gizmos common_api?
-
Adds support for gizmos
Enables bevy_gizmos of bevy_internal
- bevy_gizmos_render 2d_bevy_render? 3d_bevy_render?
-
Adds support for rendering gizmos
Enables bevy_gizmos_render of bevy_internal
- bevy_dev_tools dev?
-
Provides a collection of developer tools
Enables bevy_dev_tools of bevy_internal
- bevy_camera_controller
-
Provides a collection of prebuilt camera controllers
Enables bevy_camera_controller of bevy_internal
- free_camera
-
Enables the free cam from bevy_camera_controller
Enables free_camera of bevy_internal
- pan_camera
-
Enables the pan camera from bevy_camera_controller
Enables pan_camera of bevy_internal
- bevy_remote
-
Enable the Bevy Remote Protocol
Enables bevy_remote of bevy_internal
- bevy_log default_app?
-
Enable integration with
tracingandlogEnables bevy_log of bevy_internal
- bevy_input_focus default_app?
-
Enable input focus subsystem
Enables bevy_input_focus of bevy_internal
- experimental_bevy_ui_widgets experimental_bevy_feathers?
-
Experimental headless widget collection for Bevy UI.
Enables bevy_ui_widgets of bevy_internal
- experimental_bevy_feathers = experimental_bevy_ui_widgets
-
Feathers widget collection.
Enables bevy_feathers of bevy_internal
- spirv_shader_passthrough
-
Enable passthrough loading for SPIR-V shaders (Only supported on Vulkan, shader capabilities and extensions must agree with the platform implementation)
Enables spirv_shader_passthrough of bevy_internal
- statically-linked-dxc
-
Statically linked DXC shader compiler for DirectX 12
Enables statically-linked-dxc of bevy_internal
- raw_vulkan_init
-
Forces the wgpu instance to be initialized using the raw Vulkan HAL, enabling additional configuration
Enables raw_vulkan_init 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
-
Tracing support, with memory profiling, exposing a port for Tracy
Enables trace_tracy_memory of bevy_internal
- trace trace_chrome? trace_tracy?
-
Tracing support
Enables tracing, trace of bevy_internal
- basis-universal
-
Basis Universal compressed texture support
Enables basis-universal of bevy_internal
- compressed_image_saver
-
Enables compressed KTX2 UASTC texture output on the asset processor
Enables compressed_image_saver of bevy_internal
- bmp
-
BMP image format support
Enables bmp of bevy_internal
- dds
-
DDS compressed texture support
Enables dds of bevy_internal
- exr
-
EXR image format support
Enables exr of bevy_internal
- ff
-
Farbfeld image format support
Enables ff of bevy_internal
- gif
-
GIF image format support
Enables gif of bevy_internal
- hdr common_api?
-
HDR image format support
Enables hdr of bevy_internal
- ktx2 3d_api?
-
KTX2 compressed texture support
Enables ktx2 of bevy_internal
- ico
-
ICO image format support
Enables ico of bevy_internal
- jpeg
-
JPEG image format support
Enables jpeg of bevy_internal
- png common_api?
-
PNG image format support
Enables png of bevy_internal
- pnm
-
PNM image format support, includes pam, pbm, pgm and ppm
Enables pnm of bevy_internal
- qoi
-
QOI image format support
Enables qoi of bevy_internal
- tga
-
TGA image format support
Enables tga of bevy_internal
- tiff
-
TIFF image format support
Enables tiff of bevy_internal
- webp
-
WebP image format support
Enables webp of bevy_internal
- zlib
-
For KTX2 supercompression
Enables zlib of bevy_internal
- zstd_rust 3d_api?
-
For KTX2 Zstandard decompression using pure rust ruzstd. This is the safe default. For maximum performance, use "zstd_c".
Enables zstd_rust of bevy_internal
- zstd_c
-
For KTX2 Zstandard decompression using zstd. This is a faster backend, but uses unsafe C bindings. For the safe option, stick to the default backend with "zstd_rust".
Enables zstd_c of bevy_internal
- flac
-
FLAC audio format support
Enables flac of bevy_internal
- mp3
-
MP3 audio format support
Enables mp3 of bevy_internal
- vorbis audio?
-
OGG/VORBIS audio format support
Enables vorbis of bevy_internal
- wav
-
WAV audio format support
Enables wav of bevy_internal
- symphonia-aac
-
AAC audio format support (through symphonia)
Enables symphonia-aac of bevy_internal
- symphonia-all
-
AAC, FLAC, MP3, MP4, OGG/VORBIS, and WAV audio formats support (through symphonia)
Enables symphonia-all of bevy_internal
- symphonia-flac
-
FLAC audio format support (through symphonia)
Enables symphonia-flac of bevy_internal
- symphonia-isomp4
-
MP4 audio format support (through symphonia)
Enables symphonia-isomp4 of bevy_internal
- symphonia-vorbis
-
OGG/VORBIS audio format support (through symphonia)
Enables symphonia-vorbis of bevy_internal
- symphonia-wav
-
WAV audio format support (through symphonia)
Enables symphonia-wav of bevy_internal
- serialize
-
Enable serialization support through serde
Enables serialize of bevy_internal
- multi_threaded default_platform?
-
Enables multithreaded parallelism in the engine. Disabling it forces all engine tasks to run on a single thread.
Enables multi_threaded of bevy_internal
- async-io
-
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 default_platform?
-
Wayland display server support
Enables wayland of bevy_internal
- x11 default_platform?
-
X11 display server support
Enables x11 of bevy_internal
- android-native-activity
-
Android NativeActivity support. Legacy, should be avoided for most new Android games.
Enables android-native-activity of bevy_internal
- android-game-activity default_platform?
-
Android GameActivity support. Default, choose between this and
android-native-activity.Enables android-game-activity of bevy_internal
- bevy_ci_testing
-
Enable systems that allow for automated testing on CI
Enables bevy_ci_testing of bevy_internal
- gltf_animation 3d_bevy_render?
-
Enable glTF animation loading
Enables gltf_animation of bevy_internal
- morph 3d_api?
-
Enables support for morph target weights in bevy_mesh
Enables morph of bevy_internal
- morph_animation 3d_api?
-
Enables bevy_mesh and bevy_animation morph weight support
Enables morph_animation of bevy_internal
-
Enable using a shared stdlib for cxx on Android
Enables android_shared_stdcxx of bevy_internal
- detailed_trace
-
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 3d_api?
-
Include tonemapping Look Up Tables KTX2 files. If everything is pink, you need to enable this feature or change the
Tonemappingmethod for yourCamera2dorCamera3d.Enables tonemapping_luts of bevy_internal
- smaa_luts 3d_api?
-
Include SMAA Look Up Tables KTX2 Files
Enables smaa_luts of bevy_internal
- bluenoise_texture
-
Include spatio-temporal blue noise KTX2 file used by generated environment maps, Solari and atmosphere
Enables bluenoise_texture of bevy_internal
- dlss
-
NVIDIA Deep Learning Super Sampling
Enables dlss of bevy_internal
- force_disable_dlss
-
Forcibly disable DLSS so that cargo build --all-features works without the DLSS SDK being installed. Not meant for users.
Enables force_disable_dlss of bevy_internal
- accesskit_unix
-
Enable AccessKit on Unix backends (currently only works with experimental screen readers and forks.)
Enables accesskit_unix of bevy_internal
- glam_assert
-
Enable assertions to check the validity of parameters passed to glam
Enables glam_assert of bevy_internal
- debug_glam_assert
-
Enable assertions in debug builds to check the validity of parameters passed to glam
Enables debug_glam_assert of bevy_internal
- default_font default_platform?
-
Include a default font, containing only ASCII characters, at the cost of a 20kB binary size increase
Enables default_font of bevy_internal
- shader_format_glsl
-
Enable support for shaders in GLSL
Enables shader_format_glsl of bevy_internal
- shader_format_spirv
-
Enable support for shaders in SPIR-V
Enables shader_format_spirv of bevy_internal
- shader_format_wesl
-
Enable support for shaders in WESL
Enables shader_format_wesl of bevy_internal
- pbr_transmission_textures
-
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 GPUsEnables pbr_transmission_textures of bevy_internal
- pbr_clustered_decals
-
Enable support for Clustered Decals
Enables pbr_clustered_decals of bevy_internal
- pbr_light_textures
-
Enable support for Light Textures
Enables pbr_light_textures of bevy_internal
- pbr_multi_layer_material_textures
-
Enable support for multi-layer material textures in the
StandardMaterial, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUsEnables pbr_multi_layer_material_textures of bevy_internal
- pbr_anisotropy_texture
-
Enable support for anisotropy texture in the
StandardMaterial, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUsEnables pbr_anisotropy_texture of bevy_internal
- experimental_pbr_pcss
-
Enable support for PCSS, at the risk of blowing past the global, per-shader sampler limit on older/lower-end GPUs
Enables experimental_pbr_pcss of bevy_internal
- pbr_specular_textures
-
Enable support for specular textures in the
StandardMaterial, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUsEnables pbr_specular_textures of bevy_internal
- webgl2 default_platform?
-
Enable some limitations to be able to use WebGL2. 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
- webgpu
-
Enable support for WebGPU in Wasm. When enabled, this feature will override the
webgl2feature and you won't be able to run Wasm builds with WebGL2, only with WebGPU.Enables webgpu of bevy_internal
- asset_processor
-
Enables the built-in asset processor for processed assets.
Enables asset_processor of bevy_internal
- file_watcher dev?
-
Enables watching the filesystem for Bevy Asset hot-reloading
Enables file_watcher of bevy_internal
- embedded_watcher
-
Enables watching in memory asset providers for Bevy Asset hot-reloading
Enables embedded_watcher of bevy_internal
- http
-
Enables downloading assets from HTTP sources. Warning: there are security implications. Read the docs on WebAssetPlugin.
Enables http of bevy_internal
- https
-
Enables downloading assets from HTTPS sources. Warning: there are security implications. Read the docs on WebAssetPlugin.
Enables https of bevy_internal
- web_asset_cache
-
Enable caching downloaded assets on the filesystem. NOTE: this cache currently never invalidates entries!
Enables web_asset_cache of bevy_internal
- bevy_debug_stepping
-
Enable stepping-based debugging of Bevy systems
Enables bevy_debug_stepping and debug of bevy_internal
- meshlet
-
Enables the meshlet renderer for dense high-poly scenes (experimental)
Enables meshlet of bevy_internal
- meshlet_processor
-
Enables processing meshes into meshlet meshes for bevy_pbr
Enables meshlet_processor of bevy_internal
- bevy_state default_app? default_no_std?
-
Enable built in global state machines
Enables bevy_state of bevy_internal
- track_location
-
Enables source location tracking for change detection and spawning/despawning, which can assist with debugging
Enables track_location of bevy_internal
- reflect_functions
-
Enable function reflection
Enables reflect_functions of bevy_internal
- reflect_documentation
-
Enables bevy_reflect to access documentation comments of rust code at runtime
Enables reflect_documentation of bevy_internal
- reflect_auto_register default_app?
-
Enable automatic reflect registration
Enables reflect_auto_register of bevy_internal
- reflect_auto_register_static
-
Enable automatic reflect registration without inventory. See
reflect::load_type_registrationsfor more info.Enables reflect_auto_register_static of bevy_internal
- custom_cursor default_app?
-
Enable winit custom cursor support
Enables custom_cursor of bevy_internal
- ghost_nodes
-
Experimental support for nodes that are ignored for UI layouting
Enables ghost_nodes of bevy_internal
- async_executor default_app? = std
-
Uses
async-executoras a task execution backend.Enables async_executor of bevy_internal
- std async_executor? default_platform?
-
Allows access to the
stdcrate.Enables std of bevy_internal
- critical-section default_no_std?
-
critical-sectionprovides the building blocks for synchronization primitives on all platforms, includingno_std.Enables critical-section of bevy_internal
- libm default_no_std?
-
Uses the
libmmaths library instead of the one provided instdandcore.Enables libm of bevy_internal
- web
-
Enables use of browser APIs. Note this is currently only applicable on
wasm32architectures.Enables web of bevy_internal
- mouse
-
Mouse support. Automatically enabled by
bevy_window.Enables mouse of bevy_internal
- keyboard
-
Keyboard support. Automatically enabled by
bevy_window.Enables keyboard of bevy_internal
- gamepad
-
Gamepad support. Automatically enabled by
bevy_gilrs.Enables gamepad of bevy_internal
- touch
-
Touch support. Automatically enabled by
bevy_window.Enables touch of bevy_internal
- gestures
-
Gestures support. Automatically enabled by
bevy_window.Enables gestures of bevy_internal
- hotpatching
-
Enable hotpatching of Bevy systems
Enables hotpatching of bevy_internal
- debug dev?
-
Enable collecting debug information about systems and components to help with diagnostics
Enables debug of bevy_internal