UDP Multicast Replication

We’re developing a large scale simulation with many (hundreds) of participating Unreal Clients in a local trusted network. The large number of clients is mainly due to rendering multiple views per player. We expect at least a thousand replicated actors in one world, replicating at least their current transform. So far we’re using Unreal replication with the default net driver. We mainly use push model property replication. Our concern is that this doesn’t scale well for our use case because the server maintains a separate connection to each client. Since we’re in a local network, UDP multicast seems like the natural choice for our use case. While other optimizations might help, broadcasting each change instead of sending it to each client would make by far the biggest difference.

Is there any way, even if its complicated, of using UDP multicast with the replication system? We know it’s not just a matter of configuration but if a custom NetDriver could do it for example, we might explore that option.

If we can’t use the replication system, are there other approaches we should consider besides writing all replication ourselves?

[Attachment Removed]

Hi,

You may be able to make a custom NetDriver to handle UDP multicast, but because this is something we haven’t tried ourselves, it’s difficult to provide specific guidance on how something like this could be set up. The engine’s FUdpSocketBuilder does support creating multicast sockets, and you can see an example of how this is used in the UdpMessaging plugin (FUdpMessageTransport).

That being said, we would recommend trying out the Iris replication system for a project like this. Iris was designed to be much more performant and scalable than the engine’s default replication system, allowing for projects to support larger amounts of players and replicated actors: https://dev.epicgames.com/documentation/unreal\-engine/iris\-replication\-system\-in\-unreal\-engine

Thanks,

Alex

[Attachment Removed]