Version: en

Quality of Service with Rules

QoS and rule-based#

Quality of Service (QoS) is essential to ensure that players are matched in servers with the best connection. A default RegionId can be defined in the matchmaking.config section of a configuration file. Refer to the Rule-Based Config Contract for full details on syntax. Tickets without QosResults property will be matched in a default Region as defined in the config. The ticket will also default to 0 latency and 0.0 packet loss.

caution

If the DefaultQoSRegion is not defined in the config, tickets without a QosResults property might not get matched.

QosResults Ticket Contract#

{
...
"QosResults":
[
{
"Latency": 0.0,
"PacketLoss": 0.0,
"RegionId": "0000-0000-0000-0000"
},
{
...
},
...
],
...
}

Matchmaking behavior when providing QosResults Ticket#

The Unity Matchmaker will try to place tickets in priority in their best regions. The best regions are considered the ones with the lowest packet loss. If two regions have the same packet loss, the best one is the region with the lowest latency. You can use rules to customize how tickets are matched.

For example, the following match rule makes sure a ticket is not placed into a region if the latency is above a certain threshold:

{ "Type": "LessThan", "Source": "Ticket.QosResults.Latency", "Reference": 150 },

See QoS Sample