Version: 2017.4
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



public var SendDelay: uint;
public uint SendDelay;


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.