Cargo Features

[dependencies]
bevy_ecs = { version = "0.18.0-rc.1", default-features = false, features = ["multi_threaded", "serialize", "bevy_reflect", "reflect_functions", "reflect_auto_register", "backtrace", "trace", "debug", "detailed_trace", "bevy_debug_stepping", "track_location", "async_executor", "std", "critical-section", "hotpatching"] }
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::MessageParIter, mut_iterators::MessageMutParIter

serialize

Adds serialization support through serde.

Enables serde, serialize of bevy_platform, serde of indexmap

bevy_reflect default reflect_auto_register? reflect_functions?

Adds runtime reflection support using bevy_reflect.

Enables bevy_reflect

Affects clone::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

reflect_auto_register = bevy_reflect

Enables auto_register of bevy_reflect

bevy_reflect:

Enables automatic reflect registration. Does nothing by itself, must select auto_register_inventory or auto_register_static to make it work.

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

debug

Enable collecting debug information about systems and components to help with diagnostics

Enables debug of optional bevy_reflect and bevy_utils

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 parallel and std of bevy_utils, std of bevy_platform, optional arrayvec, and optional bevy_reflect, std of bitflags, concurrent-queue, fixedbitset, indexmap, log, nonmax, and optional serde

critical-section

critical-section provides the building blocks for synchronization primitives on all platforms, including no_std.

Enables critical-section of bevy_platform and optional bevy_reflect

hotpatching

Enables subsecond

Affects bevy_ecs::HotPatched, bevy_ecs::HotPatchChanges, system::System.refresh_hotpatch