Glossary
This glossary presents the terminology used when interacting with the Unity Realms service. Some terms originate from their respective services.
For additional definitions, check out the following:
Allocation ID: A unique identifier for an allocation.
Allocation: A request to host a server for a particular Realm.
BLOB: An acronym for Binary Large Object. It’s another word for an array of bytes.
Build configuration ID: A unique integer identifier for a build configuration.
Build configuration: A build configuration manages how a build runs by dictating the query protocol, the application executable path, the application executable path, the configuration variables, and the launch parameters. A realm links with a Build Configuration by ID.
Build: A build has the files necessary to run your game or application on a server.
Category: An optional grouping for keys. Keys are unique within a category.
Client (also Game Client): Refers to the application software (the game) players use to interact with the realm.
Client: An application software interacting with the Roaming Database service. In this case, the client is typically a game server.
Connection info: Any information required by clients to connect to the server. Typically, a public Internet address and port.
Database connection: A handle to the database. The word "connection" is used by convention, despite the absence of any network connection. The connection encompasses a file handle and runtime resources needed to perform transactions against the database.
Database: A shorthand to refer to a Unity Roaming Database instance.
Decode: The act of converting bytes to a string. It’s the opposite of encoding.
Default category: An empty string is used as the category when you don’t explicitly provide a category string. Like any category, keys within the default category are unique.
Delete: A record deletion operation on the database of a specific key and optional category. Every delete is part of some transaction, which can be implicit.
Deserialize: The act of converting bytes or strings to a data structure. It’s the opposite of serializing.
Encode: The act of converting a string to bytes. It’s the opposite of decoding.
Encoding: When storing string values, refers to the specific text encoding used (for example, UTF-8).
Environment: An isolated configuration and dataset within a project to allow experimentation. A project typically has a primary "production" environment plus additional environments for development and testing. Fleet ID: A unique identifier (UUID) for a Fleet.
Fleet: A fleet is a collection of servers that hosts a game or application in specific regions. Accounts can have one or more fleets, each with its own regions, builds, build configurations, and settings. A realm is associated with a fleet by ID.
Game Server Hosting: Former name of the Unity Multiplay Hosting service.
Get: A record read operation on the database for a specific key and optional category. A get always reads an entire value (no partial reads). Every get is part of some transaction, which can be implicit.
Index: A data structure that optimizes look-ups by mapping keys to record (row) position on the disk.
Key: A unique identifier for a record.
Lobby ID: A unique identifier for a Lobby.
Lobby: A temporary grouping of players and a server sharing a game session. Both the session and players can store and exchange properties from the lobby. Lobbies belong to a specific environment of a specific project. Active Realms have a single Lobby to facilitate player connections.
MaxPlayers: The maximum number of players that can concurrently connect to a realm. This is configured in the Server Options section when creating or editing a world.
Player ID: An opaque string that uniquely identifies a player. A player is given the same player ID when logging in from the same social credentials. For anonymous login, the ID is reused when authenticating from the device.
Player: An end user authenticated with the Unity Authentication Service (UAS). Each player has a unique identifier called the Player ID.
Project: The primary identifier of a title within a Unity organization. A project identifier is required in all interactions with Unity Gaming Services.
Put: A record write operation on the database for a specific record, identified by its key and optional category. A put always replaces an entire value (no partial writes). Every put is part of some transaction, which can be implicit.
Realm custom attributes Additional string properties that can be set on a Realm.
Realm ID: A unique identifier (UUID) for a Realm within a project.
Realm name: A readable name for the realm. Unlike the ID, it has no uniqueness requirement or guarantee. Developers can choose to present the names to players in the UI.
Realm: Named instance of a persistent world with a lifetime that isn't limited to that of a specific server. A realm belongs to a specific environment of a specific project.
Record: A key-value tuple and the smallest atomic unit. It’s also known as a row.
Region: A region is a geographic location in which a Multiplay Hosting fleet can host servers. Each fleet can have access to one or more regions and each region within a fleet has independent scaling settings.
Roaming database: A type of embedded database Unity provides and a companion storage service. Roaming databases run locally to the server, using the local disk and without making any network calls. Depending on the storage location option, you can upload snapshots of the database to the cloud for durable storage and for the ability to "roam" to a different server.
Serialize: The act of converting any data structure to bytes or a string. It’s the opposite of deserializing.
Server (Game Server): The application software that simulates the realm.
Signed URL: A temporarily issued URL with a signature appended to the query string. You can use the signed URL anonymously for a specified time. The Roaming Database service uses signed URLs to allow clients to upload or download directly.
Snapshot: A consistent, complete copy of the embedded database at a specific time point. Snapshots are files that the Roaming Database package uploads to (and downloads from) cloud storage.
Token (also Bearer Token): A short-lived authentication string used to authenticate API calls made to Unity Gaming Services. Clients obtain tokens because of the authentication process.
Transaction: A series of read or write operations against a database. Every operation against the database results in a transaction because orphan operations are wrapped in transactions automatically. You can execute transactions together as a whole or not at all.
Value: The value of a record stored as a byte array of any size (also known as a BLOB).
Version: A specific snapshot of a database within an ordered series. The Roaming Database service stores versions in cloud storage for later access.