--- title: Attributes and signals description: Attributes and signals define the player and server data used in matchmaking, including both Roblox-provided signals and custom signals you can create. --- ## Existing attributes The default Roblox matchmaking configuration uses signals based on existing attributes like player location, age group, and latency. To use data for matchmaking that Roblox doesn't automatically include in its default configuration, you need to create [custom attributes](#custom-attributes) and [custom signals](#custom-signals).
| **Attribute** | **Type** | **Description** |
|---|---|---|
| **Estimated Player Latency** | Numerical | The estimated latency of a player in a server. |
| **Has Friends** | Categorical | Whether a server has a connection or another player of the same IP address as the joining player. |
| **Is Voice Chat Enabled** | Categorical | Whether a player has voice chat enabled. |
| **Player Age** | Numerical | The player’s age. |
| **Player Device Type** | Categorical | The player’s device type. Can be a mobile device, a computer, a tablet, a console, or a VR device. |
| **Player Language** | Categorical | The player’s language. |
| **Player Play History** | Numerical | The log-10 number of minutes a player has played in a universe in the past 28 days. |
| **Server Occupancy** | Numerical | The number of players in a server. |
| **Player Text Chat Group** | Categorical | The player's text chat group where they can text chat together. |
| **Signal** | **Description** |
|---|---|
| [**Age**](#age) | The difference between the average age of players in the server and the joining player’s age, with a maximum relevant difference of 25. |
| [**Device Type**](#device-type) | The ratio of players in the server with the same device type as the joining player. |
| [**Friends**](#friends) | The number of people in the server who are connections with the joining player or who share an IP address with the joining player. 1 if there is a preferred player, 0 otherwise. |
| [**Latency**](#latency) | The estimated player latency for a server, with a max relevant value of 250. |
| [**Language**](#language) | The ratio of players in the server with the same language as the joining player |
| [**Occupancy**](#occupancy) | The ratio of players in the server compared to the capacity of the server. |
| [**Play History**](#play-history) | The difference between the average play history in the server and the joining player’s play history, with a maximum relevant difference of 4.6. |
| [**Voice Chat**](#voice-chat) | The ratio of players in the server with voice chat enabled. |
| [**Text Chat**](#text-chat) | The ratio of players in the server who can text chat with the joining player together. |
| **Attribute** | **Characteristics** |
|---|---|
| **Player** | Persistent Custom player data that persists in data stores, like a player's level or score inside the experience Managed using the `Class.DataStore|DataStore` APIs |
| **Server** | Not persistent and only last as long as the server is active Server-specific data like the server level or game mode Managed using the `Class.MatchmakingService|MatchmakingService` API |