diff --git a/core/object/script_language.cpp b/core/object/script_language.cpp
index bf357f6c6e..4b52b5c1d1 100644
--- a/core/object/script_language.cpp
+++ b/core/object/script_language.cpp
@@ -172,8 +172,6 @@ void Script::_bind_methods() {
ClassDB::bind_method(D_METHOD("is_tool"), &Script::is_tool);
ClassDB::bind_method(D_METHOD("is_abstract"), &Script::is_abstract);
- ClassDB::bind_method(D_METHOD("get_rpc_config"), &Script::get_rpc_config);
-
ADD_PROPERTY(PropertyInfo(Variant::STRING, "source_code", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "set_source_code", "get_source_code");
}
diff --git a/core/object/script_language.h b/core/object/script_language.h
index e37a5d3e75..1e02de0f9d 100644
--- a/core/object/script_language.h
+++ b/core/object/script_language.h
@@ -191,7 +191,7 @@ public:
virtual bool is_placeholder_fallback_enabled() const { return false; }
- virtual Variant get_rpc_config() const = 0;
+ virtual const Variant get_rpc_config() const = 0;
Script() {}
};
diff --git a/core/object/script_language_extension.h b/core/object/script_language_extension.h
index 9901014906..23448d3dc3 100644
--- a/core/object/script_language_extension.h
+++ b/core/object/script_language_extension.h
@@ -209,7 +209,7 @@ public:
GDVIRTUAL0RC_REQUIRED(Variant, _get_rpc_config)
- virtual Variant get_rpc_config() const override {
+ virtual const Variant get_rpc_config() const override {
Variant ret;
GDVIRTUAL_CALL(_get_rpc_config, ret);
return ret;
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 1186bd4182..18281ac0c6 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -538,12 +538,6 @@
[b]Note:[/b] The returned value will be larger than expected if running at a framerate lower than [member Engine.physics_ticks_per_second] / [member Engine.max_physics_steps_per_frame] FPS. This is done to avoid "spiral of death" scenarios where performance would plummet due to an ever-increasing number of physics steps per frame. This behavior affects both [method _process] and [method _physics_process]. As a result, avoid using [code]delta[/code] for time measurements in real-world seconds. Use the [Time] singleton's methods for this purpose instead, such as [method Time.get_ticks_usec].
-
-
-
- Returns a [Dictionary] mapping method names to their RPC configuration defined for this node using [method rpc_config].
-
-
diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml
index 80aad9d30d..45f0bbb8aa 100644
--- a/doc/classes/Script.xml
+++ b/doc/classes/Script.xml
@@ -58,12 +58,6 @@
Returns the default value of the specified property.
-
-
-
- Returns a [Dictionary] mapping method names to their RPC configuration defined by this script.
-
-
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp
index 188bcf81f9..8eceb4a0e0 100644
--- a/modules/gdscript/gdscript.cpp
+++ b/modules/gdscript/gdscript.cpp
@@ -922,7 +922,7 @@ void GDScript::get_members(HashSet *p_members) {
}
}
-Variant GDScript::get_rpc_config() const {
+const Variant GDScript::get_rpc_config() const {
return rpc_config;
}
diff --git a/modules/gdscript/gdscript.h b/modules/gdscript/gdscript.h
index 033925150d..58ea47c598 100644
--- a/modules/gdscript/gdscript.h
+++ b/modules/gdscript/gdscript.h
@@ -346,7 +346,7 @@ public:
virtual void get_constants(HashMap *p_constants) override;
virtual void get_members(HashSet *p_members) override;
- virtual Variant get_rpc_config() const override;
+ virtual const Variant get_rpc_config() const override;
void unload_static() const;
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp
index 45a762f0a3..da037005c0 100644
--- a/modules/mono/csharp_script.cpp
+++ b/modules/mono/csharp_script.cpp
@@ -2737,7 +2737,7 @@ int CSharpScript::get_member_line(const StringName &p_member) const {
return -1;
}
-Variant CSharpScript::get_rpc_config() const {
+const Variant CSharpScript::get_rpc_config() const {
return rpc_config;
}
diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h
index 0e4b1a313b..533d78b0bf 100644
--- a/modules/mono/csharp_script.h
+++ b/modules/mono/csharp_script.h
@@ -289,7 +289,7 @@ public:
int get_member_line(const StringName &p_member) const override;
- Variant get_rpc_config() const override;
+ const Variant get_rpc_config() const override;
#ifdef TOOLS_ENABLED
bool is_placeholder_fallback_enabled() const override {
diff --git a/modules/multiplayer/scene_rpc_interface.cpp b/modules/multiplayer/scene_rpc_interface.cpp
index 45ea6b2d72..e8c07c426b 100644
--- a/modules/multiplayer/scene_rpc_interface.cpp
+++ b/modules/multiplayer/scene_rpc_interface.cpp
@@ -105,7 +105,7 @@ const SceneRPCInterface::RPCConfigCache &SceneRPCInterface::_get_node_config(con
return rpc_cache[oid];
}
RPCConfigCache cache;
- _parse_rpc_config(p_node->get_rpc_config(), true, cache);
+ _parse_rpc_config(p_node->get_node_rpc_config(), true, cache);
if (p_node->get_script_instance()) {
_parse_rpc_config(p_node->get_script_instance()->get_rpc_config(), false, cache);
}
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index e069170c81..aeb1598a1b 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -849,7 +849,7 @@ void Node::rpc_config(const StringName &p_method, const Variant &p_config) {
}
}
-Variant Node::get_rpc_config() const {
+const Variant Node::get_node_rpc_config() const {
return data.rpc_config;
}
@@ -3980,7 +3980,6 @@ void Node::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_multiplayer"), &Node::get_multiplayer);
ClassDB::bind_method(D_METHOD("rpc_config", "method", "config"), &Node::rpc_config);
- ClassDB::bind_method(D_METHOD("get_rpc_config"), &Node::get_rpc_config);
ClassDB::bind_method(D_METHOD("set_editor_description", "editor_description"), &Node::set_editor_description);
ClassDB::bind_method(D_METHOD("get_editor_description"), &Node::get_editor_description);
diff --git a/scene/main/node.h b/scene/main/node.h
index 5a7988b64a..50176b09dd 100644
--- a/scene/main/node.h
+++ b/scene/main/node.h
@@ -210,7 +210,7 @@ private:
void *process_group = nullptr; // to avoid cyclic dependency
int multiplayer_authority = 1; // Server by default.
- Variant rpc_config = Dictionary();
+ Variant rpc_config;
// Variables used to properly sort the node when processing, ignored otherwise.
int process_priority = 0;
@@ -786,7 +786,7 @@ public:
bool is_multiplayer_authority() const;
void rpc_config(const StringName &p_method, const Variant &p_config); // config a local method for RPC
- Variant get_rpc_config() const;
+ const Variant get_node_rpc_config() const;
template
Error rpc(const StringName &p_method, VarArgs... p_args);