From a5279d340d0aed75e4001e1dc4e6b46d31f43555 Mon Sep 17 00:00:00 2001 From: Matty Weatherley Date: Fri, 10 Jan 2025 15:31:41 -0500 Subject: [PATCH] Make `bevy_remote` feature enable `serialize` feature (#17260) # Objective `bevy_remote`'s reflection deserialization basically requires `ReflectDeserialize` registrations in order to work correctly. In the context of `bevy` (the library), this means that using `bevy_remote` without using the `serialize` feature is a footgun, since `#[reflect(Serialize)]` etc. are gated behind this feature. The goal of this PR is to avoid this mistake by default. ## Solution Make the `bevy_remote` feature enable the `serialize` feature, so that it works as expected. --- ## Migration Guide The `bevy_remote` feature of `bevy` now enables the `serialize` feature automatically. If you wish to use `bevy_remote` without enabling the `serialize` feature for Bevy subcrates, you must import `bevy_remote` on its own. --- crates/bevy_internal/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/bevy_internal/Cargo.toml b/crates/bevy_internal/Cargo.toml index 7c8030edfb4ab..d3c66ee4c5291 100644 --- a/crates/bevy_internal/Cargo.toml +++ b/crates/bevy_internal/Cargo.toml @@ -220,7 +220,7 @@ meshlet_processor = ["bevy_pbr?/meshlet_processor"] bevy_dev_tools = ["dep:bevy_dev_tools"] # Enable support for the Bevy Remote Protocol -bevy_remote = ["dep:bevy_remote"] +bevy_remote = ["dep:bevy_remote", "serialize"] # Provides picking functionality bevy_picking = ["dep:bevy_picking"]