Cargo Features
[dependencies]
bevy_ecs = { version = "0.16.0-rc.1", default-features = false, features = ["multi_threaded", "serialize", "bevy_reflect", "reflect_functions", "configurable_error_handler", "backtrace", "trace", "detailed_trace", "bevy_debug_stepping", "track_location", "async_executor", "std", "critical-section"] }
- default = async_executor, backtrace, bevy_reflect, std
-
These default features are set whenever
bevy_ecs
is added without
somewhere in the dependency tree.default-features = false - multi_threaded
-
Functionality
Enables multithreading support. Schedules will attempt to run systems on multiple threads whenever possible.Enables arrayvec, multi_threaded of bevy_tasks
Affects
iterators::EventParIter
,mut_iterators::EventMutParIter
… - serialize
-
Adds serialization support through
serde
.Enables serde, serialize of bevy_platform_support, serde of bevy_utils and indexmap
- bevy_reflect default reflect_functions?
-
Adds runtime reflection support using
bevy_reflect
.Enables bevy_reflect
Affects
component::component_clone_via_reflect
,bevy_ecs::reflect
,world::reflect
… - reflect_functions = bevy_reflect
-
Extends reflection support to functions.
Enables functions of bevy_reflect
Affects
reflect::AppFunctionRegistry
… - configurable_error_handler
-
Use the configurable global error handler as the default error handler.
This is typically used to turn panics from the ECS into loggable errors.
This may be useful for production builds,
but can result in a measurable performance impact, especially for commands.Affects
handler::GLOBAL_ERROR_HANDLER
… - backtrace default = std
-
Enables automatic backtrace capturing in BevyError
Affects
bevy_error::bevy_error_panic_hook
… - trace detailed_trace? = std
-
Debugging Features
Enables
tracing
integration, allowing spans and other metrics to be reported through that framework.Enables tracing
- detailed_trace = trace
-
Enables a more detailed set of traces which may be noisy if left on by default.
- bevy_debug_stepping
-
Provides system stepping support, allowing them to be paused, stepped, and other debug operations which can help with diagnosing certain behaviors.
- track_location
-
Provides more detailed tracking of the cause of various effects within the ECS.
This will often provide more detailed error messages. - async_executor default = std
-
Executor Backend
Uses
async-executor
as a task execution backend. This backend is incompatible withno_std
targets.Enables async_executor of bevy_tasks
- std default async_executor backtrace trace?
-
Platform Compatibility
Allows access to the
std
crate. Enabling this feature will prevent compilation onno_std
targets, but provides access to certain additional features on supported platforms.Enables alloc of disqualified, std of fixedbitset, indexmap, log, nonmax, and optional serde, std of bevy_platform_support, bevy_tasks, bevy_utils, bitflags, concurrent-queue, optional arrayvec, and optional bevy_reflect
- critical-section
-
critical-section
provides the building blocks for synchronization primitives on all platforms, includingno_std
.Enables critical-section of bevy_platform_support, optional bevy_reflect, and bevy_tasks