diff --git a/crates/bevy_remote/src/builtin_methods.rs b/crates/bevy_remote/src/builtin_methods.rs
index 83a0bbe9da..b42cf41055 100644
--- a/crates/bevy_remote/src/builtin_methods.rs
+++ b/crates/bevy_remote/src/builtin_methods.rs
@@ -16,15 +16,21 @@ use bevy_ecs::{
};
use bevy_platform_support::collections::HashMap;
use bevy_reflect::{
- prelude::ReflectDefault,
serde::{ReflectSerializer, TypedReflectDeserializer},
- GetPath, NamedField, OpaqueInfo, PartialReflect, ReflectDeserialize, ReflectSerialize,
- TypeInfo, TypeRegistration, TypeRegistry, VariantInfo,
+ GetPath, PartialReflect, TypeRegistration, TypeRegistry,
};
+use bevy_utils::default;
use serde::{de::DeserializeSeed as _, Deserialize, Serialize};
-use serde_json::{json, Map, Value};
+use serde_json::{Map, Value};
-use crate::{error_codes, BrpError, BrpResult};
+use crate::{
+ error_codes,
+ schemas::{
+ json_schema::JsonSchemaBevyType,
+ open_rpc::{OpenRpcDocument, ServerObject},
+ },
+ BrpError, BrpResult,
+};
/// The method path for a `bevy/get` request.
pub const BRP_GET_METHOD: &str = "bevy/get";
@@ -77,6 +83,9 @@ pub const BRP_LIST_RESOURCES_METHOD: &str = "bevy/list_resources";
/// The method path for a `bevy/registry/schema` request.
pub const BRP_REGISTRY_SCHEMA_METHOD: &str = "bevy/registry/schema";
+/// The method path for a `rpc.discover` request.
+pub const RPC_DISCOVER_METHOD: &str = "rpc.discover";
+
/// `bevy/get`: Retrieves one or more components from the entity with the given
/// ID.
///
@@ -806,6 +815,38 @@ pub fn process_remote_spawn_request(In(params): In