Blueprint multicast event not called on clients in multiplayer

I’m trying to propagate an event on an actor to all clients of a multiplayer game (listen server), and I don’t understand why it’s not working… That’s my first Unreal project.

  1. I have a replicated actor in a map, not owned by a player. I can see it on all clients when the map is loaded.
  2. In this actor’s blueprint, I have a multicast custom event, reliable, that I want it to be called on all clients.
  3. I also have a server only custom event, that calls this multicast event. From my understanding, the multicast has to called from server to propagate.
  4. I want to call the server event on the actor, for having the multicast event called on clients.

But it does not work. The server custom event is called. The multicast is called on the server side. But never on clients. I tried to call the server event from another actor, from the GameMode also. I also tried to directly call the multicast from the GameMode, but it’s always the same thing, the multicast is called only on server, not on client.

As my calls are from the server, maybe it’s due to ownership, but the actor is not expected to be owned by PlayerControllers. In fact it’s not clear to me if it is supposed to be owned by someone in this case. Or at least by itself, or maybe by the GameMode, that’s why I tried to call from these ones too.

Anyway, I’m probably doing something wrong, but I don’t see what :confused:

Maybe I could try to use variable replication in the actor to trigger some processing, but I want to understand what I am missing with this multicast.

i am having the same problem. I’m calling a multicast function on the server and it’s not called on the client’s depsite them being relevant

And how does your BP setup looks like?

As what you want to do needs probably 3 different Events to run it on every Client

1st Event (called locally) - run the next Event
2nd Event (Server) - run the next Event
3rd Event (Multicast) - run code you like to show for every client

As long as your actor replicates, and spawned by the server or loaded from the level, you should be able to fire multicasts just fine. Sometimes it goes a little deeper, where the network buffer is full, so the multicast has to be reliable for it not to be ignored!