Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions crates/bevy_asset/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,6 @@ pub use reflect::*;
pub use render_asset::*;
pub use server::*;

/// Rusty Object Notation, a crate used to serialize and deserialize bevy assets.
pub use ron;
pub use uuid;

use crate::{
Expand Down
2 changes: 2 additions & 0 deletions crates/bevy_scene/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ keywords = ["bevy"]
[features]
default = ["serialize"]
serialize = [
"dep:ron",
"dep:serde",
"uuid/serde",
"bevy_ecs/serialize",
Expand All @@ -32,6 +33,7 @@ bevy_platform = { path = "../bevy_platform", version = "0.18.0-dev", default-fea
] }

# other
ron = { version = "0.11", default-features = false, optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
uuid = { version = "1.13.1", features = ["v4"] }
thiserror = { version = "2", default-features = false }
Expand Down
6 changes: 1 addition & 5 deletions crates/bevy_scene/src/dynamic_scene.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@ use bevy_ecs::component::ComponentCloneBehavior;
use bevy_ecs::relationship::RelationshipHookMode;

#[cfg(feature = "serialize")]
use {
crate::{ron, serde::SceneSerializer},
bevy_reflect::TypeRegistry,
serde::Serialize,
};
use {crate::serde::SceneSerializer, bevy_reflect::TypeRegistry, serde::Serialize};

/// A collection of serializable resources and dynamic entities.
///
Expand Down
3 changes: 0 additions & 3 deletions crates/bevy_scene/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@ mod scene_spawner;
#[cfg(feature = "serialize")]
pub mod serde;

/// Rusty Object Notation, a crate used to serialize and deserialize bevy scenes.
pub use bevy_asset::ron;

pub use components::*;
pub use dynamic_scene::*;
pub use dynamic_scene_builder::*;
Expand Down
1 change: 0 additions & 1 deletion crates/bevy_scene/src/scene_loader.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
use crate::ron;
use bevy_ecs::{
reflect::AppTypeRegistry,
world::{FromWorld, World},
Expand Down
4 changes: 2 additions & 2 deletions crates/bevy_scene/src/serde.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ pub const ENTITY_FIELD_COMPONENTS: &str = "components";
/// let scene_serializer = SceneSerializer::new(&scene, &registry);
///
/// // Serialize through any serde-compatible Serializer
/// let ron_string = bevy_scene::ron::ser::to_string(&scene_serializer);
/// let ron_string = ron::ser::to_string(&scene_serializer);
/// ```
pub struct SceneSerializer<'a> {
/// The scene to serialize.
Expand Down Expand Up @@ -510,7 +510,6 @@ impl<'a, 'de> Visitor<'de> for SceneMapVisitor<'a> {
#[cfg(test)]
mod tests {
use crate::{
ron,
serde::{SceneDeserializer, SceneSerializer},
DynamicScene, DynamicSceneBuilder,
};
Expand All @@ -522,6 +521,7 @@ mod tests {
world::FromWorld,
};
use bevy_reflect::{Reflect, ReflectDeserialize, ReflectSerialize};
use ron;
use serde::{de::DeserializeSeed, Deserialize, Serialize};
use std::io::BufReader;

Expand Down
10 changes: 10 additions & 0 deletions release-content/migration-guides/remove_ron_reexport.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Remove ron re-export from bevy_scene and bevy_asset
pull_requests: [21611]
---

The `ron` crate is no longer re-exported from `bevy_scene` or `bevy_asset`. This was done to reduce naming conflicts and improve API clarity.

If you were importing `ron` through `bevy_scene` or `bevy_asset`, you should now add `ron` as a direct dependency to your project.

This change only affects code that was explicitly importing the `ron` module. All internal scene serialization and deserialization functionality remains unchanged.