Multicast doesn't run locally on ListenServer despite tooltip saying otherwise

Steps to reproduce

  1. Add Run on server function that prints string “RPC”
  2. Add Multicast function that prints “Multicast”
  3. Start game with multiple players in editor
  4. Observe that “Sever: Multicast” is never printed.

I found answer here to anyone else that sees this: https://docs.unrealengine.com/latest/INT/Gameplay/Networking/Replication/RPCs/index.html

Apparently there are exceptions to multicast RPC. I still feel tooltip can be improved.

Hey zellyman,

This works as expected for me. What was exception that you ran into? In what way would you improve tooltip?

It says that all clients and server runs this locally. It makes no mention that if a client (vs. server) runs this node that it executes on, and only on, calling client.

tooltip would have you believe that no matter caller it runs on every machine.

I’m sorry when I say exception I don’t mean it in programming sense, I’m referring to part under “Requirements and Caveats” in link in my post where it says “Multicast RPCs are an exception:”

Ah, I see what you meant. tooltip for Multicast currently states, “Replicate this event from server to everyone else. Server executes this event locally too. Only call this from server.” Is there something you’d like to see in that tooltip specifically that might clarify its use better?

For starters, the “Only call this from server” probably needs to go. There’s a lot of use for a function call that has this behavior, and people might not realize it because tooltip scares them away.

Maybe something like, “If called from a client, runs on calling client only. If called from server this executes locally on server and is replicated to all clients.”

Thanks for feedback! I will create a request report for developers to consider and let you know if I see an update.