Glossary

A list of common terms and concepts used in coherence.

Baking

The process of generating network code for your GameObjects. It does two things: schema generation and code generation.

Bandwidth usage

The data that Game Clients exchange with the cloud-hosted Replication Server to sync your Rooms or Worlds and all the players and other game objects within it.

Bridge

Also known as CoherenceBridge. It represents a connection to the Replication Server. It makes sure CoherenceSyncs are linked to their networked representations, serving as an interface between Unity's GameObjects and coherence's network. When you place a CoherenceSync in your Unity scene, the Bridge detects it and makes sure state is synchronized.

CCU hour

A CCU hour represents the time that a Room or World is online. The CCU hour consumption per Room or World is determined by the maximum player capacity they are reserved for, regardless of how many players are active within them.

Client connection

A Client connection represents a participant or Simulator in a game you're playing online.

Client connection​ object

A CoherenceSync representing a Client connected to the Replication Server. Required to send Client Messages.

Code generation

The process of generating network code for CoherenceSync Prefabs. Part of the baking process.

coherence Cloud

The backend of the coherence Developer Portal.

CoherenceInput

CoherenceInput is a Unity component that enables a Simulator to take control of the simulation of another Client's objects based on the Client's inputs. Each object can only accept inputs from one specific Client, called the object’s Input Authority. You should use CoherenceInput when a) you want a centralized simulation of all inputs b) Clients have low processing power c) determinism is important for your project.

CoherenceSync

CoherenceSync is a Unity component that should be attached to every Prefab you want to network. It may be your player, an NPC or an inanimate object such as a ball, a projectile or a banana - anything that needs to be synchronized over the network.

SDK for Unity

The Unity package distributed through UPM, that allows developers to use coherence to develop multiplayer games.

Command

A request to invoke a method on a Client (other solutions may refer to this mechanism as RPC).

Dashboard

Dashboard is the front-end of the coherence Developer Portal that is used for managing your coherence projects.

Game services

These are useful features for multiplayer games that coherence offers like the Key-value store and Authentication Service (Player Accounts). More info is available in the Game Services and Lobbies articles.

Input Authority

See CoherenceInput. Replaced InputOwner.

KV Database

The KV Database, also know as a key-value store, provides a simple persistence layer for the players. The KV Database matches a short key (identifier) to a specific value (data payload) held in a simple, unstructured database. For example, KV store can be used to store the player's score, email address, or any other data. There are no limits to the total number of key/value pairs as long as the total size stays under 256KB.

Level of Detail (LOD)

An optimization technique to adjust the resources spent on networking entities, based on distance. CoherenceSync Prefabs can define LODs, which are applied substractively: each level can compress the information sent (less data, but also less quality) and also stop sending data altogether, on a Unity component basis.

LiveQuery

Used for filtering Entities that receive updates via CoherenceSync by distance and relevance, as an optimization measure (latency, compute). LiveQuery area is shaped like a box, and the distance is measured from middle to edges. Also, see TagQuery.

Multi-Room Simulator

Multi-Room Simulators are Room Simulators which are able to simulate multiple Game Rooms at the same time.

Organization

In the context of the Dashboard, the entity that uses coherence for its project(s).

Project

In the context of the Dashboard, a project identifies a specific game or application within the coherence Cloud. Projects are owned by an Organization.

Replication Server

A server that replicates entities across the network between Clients and Simulators. It's a binary (per desktop platform) that the SDK provides, and can be used for development or distribution (see client-hosting or coherence Cloud).

Rooms

Short-lived multiplayer environments for dozens of players. Perfect for quick session-based matches. For accommodating more players, see Worlds.

Schema

Schemas are files that define which data is networked. They define network components, commands, inputs and archetypes. There's two primary uses:

As a description for the Replication Server, telling it how the data in your project looks like – to receive, store, and send this data to Clients.

As a basis for code generation, creating various structs and methods that can be used in your project to communicate with the Replication Server.

Client-hosting

The ability for Clients to host their own game sessions, without the need of using the Replication Server. The SDK for Unity achieves this by bundling the Replication Server binary and the schemas needed for the project within the built game. Read more about it in the Client-hosting article.

Simulator

A Simulator is a headless client running game logic in the server that is syncing all the changes in the Room or World to all the players. It ensures a stable connection and is a way to make your multiplayer game logic tamper-proof. Find out more about Simulators in our developer documentation.

Simulator slug

A string of text that uniquely identifies an uploaded Simulator, making it easy to differentiate between various World or Room Simulators during deployment. The Simulator slug should be descriptive for ease of use purposes, although coherence supports any string value.

State authority

State authority, when given to a Simulator or a Client, means they can change the state of Entities in the game. In server-authoritative games state authority is given to a Simulator for anti-tampering reasons, but for casual projects it can lie with Clients that create the Entities. However, coherence allows for flexibility as well - for example, state authority can be configured so it can be transferred to other Clients or Simulators, and reassigned continuously in the course of the game. Additionally, see Input Authority.

State replication

What the Replication Server is doing by determining the state of the game and then syncing it to all the connected Clients.

Storage

Storage here relates to the cost of keeping data on coherence Cloud. It is measured in terabytes (TB) per hour.

TagQuery

In addition to the LiveQuery, coherence also supports filtering objects by tag. This is useful when you have some special objects that should always be visible regardless of World position. Also, see LiveQuery.

Worlds

Long-lived and permanent multiplayer environments for thousands of players. Best suited for MMO-type games. For more smaller player counts, see Rooms.

Last updated