Glossary
A list of common terms and concepts used in coherence.
Authority
Authority defines which Client or Simulator is allowed to make changes to the synced properties of an any networked GameObject, and in general defines who "runs the gameplay code" for that networked GameObject.
See CoherenceInput.
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
In plain terms, CCU hour is the number of connection slots for a World/Room, times the number of hours the World/Room was online.. The calculation is based on the maximum player capacity these 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.
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.d
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 assume authority over the simulation of another Client's objects. 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.
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.
SDK for Unity
The Unity package distributed through UPM, that allows developers to use coherence to develop multiplayer games.
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.