Gets or sets the delay in milliseconds after a call to Send() before packets are sent. During this time, new messages may be combined in queued packets. Default value: 10ms.
Unity Multiplayer can combine many messages into a single packet. This is more efficient for the network, because duplicating packet header information for each message consumes unnecessary bandwidth. SendDelay gets or sets the delay during which messages sent using the Send() function are combined into the same packet. Combination of packets is also limited by maximum packet size, and packet sending is limited by bandwidth limitations.
Consider the following example situation:
A Unity Multiplayer game sends messages about every 1 millisecond. Each message is approximately 1/3 the size of a packet. SendDelay has been set to 5ms.
Let us consider a 5ms duration of gameplay. When the first message to be sent is received by Unity Multiplayer, the delay begins. Over the next 5ms, four more messages to be sent are received. Since the packets can fit about three messages, Unity Multiplayer creates two packets, the first containing the first three messages and the second containing the last two. The delay expires and the two packets are sent out. Unity Multiplayer then waits for a new message and, on receipt, starts a new delay.
Did you find this page useful? Please give it a rating: