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 default-features = false somewhere in the dependency tree.

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 with no_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 on no_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, including no_std.

Enables critical-section of bevy_platform_support, optional bevy_reflect, and bevy_tasks