Cargo Features

[dependencies]
avian3d = { version = "0.3.0", default-features = false, features = ["3d", "f32", "f64", "debug-plugin", "simd", "parallel", "enhanced-determinism", "default-collider", "parry-f32", "parry-f64", "collider-from-mesh", "bevy_scene", "bevy_picking", "serialize", "bevy_diagnostic", "diagnostic_ui"] }
default = 3d, bevy_picking, bevy_scene, collider-from-mesh, debug-plugin, f32, parallel, parry-f32

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

3d default collider-from-mesh

Affects contact_types::ContactManifold.points, contact_types::ContactManifold.tangent_velocity, contact_types::ContactPoint.tangent_impulse, semi_implicit_euler::solve_gyroscopic_torque, computed::ComputedAngularInertia, computed::GlobalAngularInertia, components::AngularInertia, rigid_body::AngularVelocity, world_query::RigidBodyQuery.global_angular_inertia, contact::ContactConstraint.tangent_velocity, tangent_part::TangentImpulse, tangent_part::ContactTangentPart.effective_inverse_mass, revolute::RevoluteJoint.aligned_axis, angular_constraint::AngularConstraint.apply_angular_lagrange_update, angular_constraint::AngularConstraint.apply_angular_impulse, angular_constraint::AngularConstraint.align_orientation, angular_constraint::AngularConstraint.apply_angular_correction, angular_constraint::AngularConstraint.compute_generalized_inverse_mass, angular_constraint::AngularConstraint.get_delta_rot, angular_constraint::AngularConstraint.compute_torque

f32 default parry-f32
f64 parry-f64?
debug-plugin default

Enables bevy_gizmos and bevy_render of bevy

Affects avian3d::debug_render

simd

Enables simd-stable of optional parry3d ^0.17 and optional parry3d-f64 ^0.17

parallel default

Enables thread_local, parallel of optional parry3d ^0.17 and optional parry3d-f64 ^0.17 and multi_threaded of bevy

bevy:

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

Affects contact::ContactConstraint.pair_index

enhanced-determinism

Enables libm, enhanced-determinism of optional parry3d ^0.17 and optional parry3d-f64 ^0.17 and libm of bevy_heavy and bevy_math

bevy_heavy:

Enable libm mathematical functions for glam types to ensure consistent outputs across platforms at the cost of losing hardware-level optimization using intrinsics.

default-collider parry-f32 parry-f64?

Enables nalgebra

Affects gizmos::PhysicsGizmoExt.draw_collider, gizmos::PhysicsGizmoExt.draw_shapecast, spatial_query::update_spatial_query_pipeline

parry-f32 default = default-collider, f32

We unfortunately can't reuse the f32 and f64 features for this,
because Parry uses separate crates for f32 and f64.

Enables parry3d ^0.17

Affects gizmos::PhysicsGizmoExt.draw_collider, gizmos::PhysicsGizmoExt.draw_shapecast, spatial_query::update_spatial_query_pipeline

parry-f64 = default-collider, f64

Enables parry3d-f64 ^0.17

Affects gizmos::PhysicsGizmoExt.draw_collider, gizmos::PhysicsGizmoExt.draw_shapecast, spatial_query::update_spatial_query_pipeline

collider-from-mesh default = 3d

Enables bevy_render of bevy

bevy:

Provides rendering functionality

bevy_scene default

Enables bevy_scene of bevy

bevy:

Provides scene functionality

bevy_picking default

Enables bevy_picking of bevy

bevy:

Provides picking functionality

Affects avian3d::picking

serialize

Enables serde, serde of bitflags, serde-serialize of optional parry3d ^0.17 and optional parry3d-f64 ^0.17 and serialize of bevy, bevy_heavy, and bevy_transform_interpolation

bevy:

Enable serialization support through serde

bevy_diagnostic diagnostic_ui?

Enables writing timer and counter information to the DiagnosticsStore in bevy_diagnostic.

Affects diagnostics::PhysicsDiagnosticsPlugin, diagnostics::PhysicsDiagnostics.write_diagnostics

diagnostic_ui = bevy_diagnostic

Enables the PhysicsDiagnosticsUiPlugin for visualizing physics diagnostics data with a debug UI.

Enables bevy_ui of bevy

Affects diagnostics::ui