-1

My Unity project is using MLAPI framework(UNet Transport). I have a server and 3 clients. Server needs to send RPC message to all clients every frame. The data flow is about 2KB/frame for each client. My project is running at 60FPS. The delivery and sequence of messages are not necessary.

However, server will pop up some warnings like "no free events for message" when running and then all connected clients disconnect automatically. Maybe the problem is broadcast frequency is too high and the message is too big. But I really need these.

Is there any suggestion about NetworkConfig settings? Any suggestion is appreciated.

Thanks a lot!

update: My project is working with a motion capture system and only the server can receive the motion data. So Server needs to broadcast it to other clients.That's why I need to do it every frame.

jQ Goo
  • 23
  • 5
  • **why** do you need to send a message every frame? Somehow this doesn't sounds right ;) – derHugo Mar 15 '21 at 10:50
  • @derHugo My project is working with a motion capture system, however only the server can receive the motion data. Server needs to broadcast the motion data to all other clients. That's why I need to do it every frame. – jQ Goo Mar 15 '21 at 11:44
  • No that's not true ... I'm pretty sure that your users wouldn't care if the motion is completely in sync with 60 FPS or 20 FPS ... You should probably go with the Physics system and send updates only every 0.2 seconds and interpolate (e.g. Lerp) at the receivers – derHugo Mar 15 '21 at 11:49
  • @derHugo Thanks for your replay. Yeah this is a solution. But my project is not a traditional game, it focus on body motion most of the time. (think of it as a dance show, some flaws like feet sliding is not allowed) So it requires pretty high precision of motion. I just want to try if i can do better :) – jQ Goo Mar 15 '21 at 12:02

1 Answers1

0

I tried different settings of NetworkConfig, especially the MaxReceiveEventsPerTickRate and it just works fine now.

jQ Goo
  • 23
  • 5