In hosted mode, Fusion supports lag compensated hit boxes to account for the fact that each client sees other clients in the past and regular ray cast on the server would not match what the player was seeing. If not, the state will be updated and because the network state is separate from the rendering state, the rendering may either snap to this new state or use various forms of interpolation, error correction and smoothing to reduce the visual artifacts caused by the correction. If previous predictions were accurate, this process is seamless. This is known as reconciliation, as the client is rolled back to the server-provided state and re-simulated forward to the local (predicted) tick. In hosted mode, whether running as a dedicated headless server or a combined client and server on the same device, the server has full and exclusive State Authority over all objects, no exceptions.Ĭlients can only modify networked objects by sending their input to the server (and have the server react to that input) or by requesting a change using an RPC.Īny changes a client makes directly to the networked state is only a local prediction, which will be overridden with actual authoritative snapshots from the server when those are received. The main difference is in who has authority over (ability to change) network objects, but this in turn dictates which other SDK features are available. In the latter case, a fully configurable area-of-interest system is supplied to allow support for very high player counts.įusion implements a robust tick-based simulation and operates in either Shared Mode or Hosted Mode. Data is transferred either as complete compressed snapshots (only hosted mode) or as partial chunks with eventual consistency. It is built with simplicity in mind to integrate naturally into the common Unity workflow, while also offering advanced features like data compression, client-side prediction and lag compensation out of the box.įor example, RPCs and network state is defined with attributes on the methods and properties of the MonoBehaviour themselves with no need for explicit serialization code and network objects can be defined as prefabs using all of Unity's most recent prefab features like nesting and variants.īehind the covers, Fusion relies on a state-of-the-art compression algorithm to reduce bandwidth requirements with minimal CPU overhead. With a single API, it supports two fundamentally different network topologies as well as a single player mode with no network connection. Fusion is a new high performance state synchronization networking library for Unity.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |