From 7e573eae5520a6403687558cd701eeef839ff5db Mon Sep 17 00:00:00 2001 From: Paul PINA-GHERARDI <65652554+ObaulG@users.noreply.github.com> Date: Thu, 9 Nov 2023 13:30:36 +0100 Subject: [PATCH] Document requirement of having client + server RPCs in High-level multiplayer (#7932) Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Co-authored-by: Hugo Locurcio --- tutorials/networking/high_level_multiplayer.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tutorials/networking/high_level_multiplayer.rst b/tutorials/networking/high_level_multiplayer.rst index 2c8f6afed..973a34165 100644 --- a/tutorials/networking/high_level_multiplayer.rst +++ b/tutorials/networking/high_level_multiplayer.rst @@ -196,6 +196,16 @@ For a remote call to be successful, the sending and receiving node need to have must have the same name. When using ``add_child()`` for nodes which are expected to use RPCs, set the argument ``force_readable_name`` to ``true``. +.. warning:: + + If a function is annotated with ``@rpc`` on the client script (resp. server script), + then this function must also be declared on the server script (resp. client script), + and both must have the same signature, **even if this function is not currently used**. + + If these conditions are not fulfilled, the script may print an error or + cause unwanted behavior. See further explanation and troubleshooting on + `this post `__. + The annotation can take a number of arguments, which have default values. ``@rpc`` is equivalent to: ::