Glossary
This glossary explains common terms and concepts used in the networking library. Each entry is short, student-friendly, and tied to how the term is implemented here.
- Area
A logical grouping of clients and objects used for interest management. Clients only receive updates for areas they belong to. Examples: a dungeon floor, a chat channel, or a scene.
- Authority
The right to control the state of a networked object. In this library, authority is represented by ownership.
- Client
A Unity project that connects to the server. Clients send player input and requests, and render authoritative updates from the server.
- ClientNetwork
The component responsible for managing a client’s connection, instantiation of objects, RPCs, and sync messages.
- Delivery Method
How a message is sent over the network. Can be reliable (guaranteed delivery, ordered) or unreliable (may drop older packets but ensures the newest one is processed). Controlled by
UCNetwork.DeliveryMethod.- Destroy
The removal of a networked object across the network. Only the owner (or the server) can request destruction.
- ID Pool
A block of unique IDs given by the server to each client. Ensures instant local instantiation while keeping IDs globally unique.
- Instantiate
The process of creating a new object on all clients at once. Done using
ClientNetwork.InstantiateorServerNetwork.Instantiate.- LiteSync
A lightweight synchronization message containing only custom byte data (no transform). Useful for stats, animation states, or other small updates.
- MessageReceiver
An enum that determines which machines should receive a message. Options include ServerOnly, AllClients, OtherClients, AllClientsInArea, OtherClientsInArea, and SingleClient.
- MessageType
An integer code that specifies the type of message being sent (e.g., RPC, SyncUpdate, Instantiate, Destroy). Defined in
UCNetwork.- Networked Object
A GameObject with a
NetworkSynccomponent. Has a unique network ID and participates in synchronization and RPC targeting.- Network ID
A globally unique integer assigned to every networked object. Used to map messages to objects.
- NetworkSync
A Unity component that manages the networking behavior of a specific object (ID assignment, sync data, RPC routing, ownership callbacks).
- Ownership
Which machine (server or client) currently controls a networked object. Owners send authoritative updates; replicas display them. Ownership can transfer when needed.
- ReliableOrdered
A delivery method where messages are guaranteed to arrive and in the order sent. Used for critical actions like instantiating or destroying objects.
- RPC (Remote Procedure Call)
A message that tells another machine to execute a specific method on a specific object. Best for discrete events like “OpenDoor” or “PlayAnimation.”
- Server
The authoritative instance of the game. Runs
ServerNetworkand manages all connected clients, object IDs, and areas.- ServerNetwork
The component responsible for handling client connections, ID allocation, synchronization forwarding, and validation.
- Sequence Channel
A separate stream of ordered messages. Keeps different message categories from interfering. Example: channel 10 for Sync updates.
- SyncUpdate
A synchronization message that includes position, rotation, and custom byte data. Used for continuous state (like movement).
- UCNetwork
The abstract base class for both client and server networking components. Provides message loop, RPC serialization, ID tracking, and connection utilities.
- VoiceData
A message type reserved for sending compressed voice samples. Stubbed out in this library; optional to implement later.