LogoLogo
⚠️ Outdated documentationGo to latestHomeAPI
SDK 1.3
SDK 1.3
  • Welcome
  • Overview
    • Features
    • Roadmap
  • Getting started
    • Get the Unity SDK
    • Setup a project
      • Scene setup
      • Prefab setup
      • Sample connection UIs
      • Local development
        • Local testing using Builds
        • Local testing via Unity's Multiplayer Play Mode (MPPM)
        • Local testing via ParrelSync
      • Test in the cloud
        • Deploy a Replication Server
        • Share builds
    • Video tutorials
    • Samples and tutorials
      • Package samples
      • First Steps tutorial
        • 1. Basic syncing
          • 1.2. Animation parameters
          • 1.3. Sending commands
        • 2. Physics / Authority transfer
        • 3. Areas of interest
        • 4. Parenting entities
        • 5. Complex hierarchies
        • 6. Persistence
      • Campfire project
        • Game mechanics
        • Leveraging object pooling
        • Remote interactions: Chairs
        • Remote interactions: Trees
        • A unique object with complex state
        • Custom instantiation and destruction
        • Running a server-side NPC
        • Playing audio and particles
        • A simple text chat
      • Beginner's guide to networking
  • Manual
    • Unity Components
      • CoherenceSync
      • CoherenceBridge
      • CoherenceNode
      • CoherenceLiveQuery
      • CoherenceTagQuery
      • PrefabSyncGroup
      • CoherenceInput
      • Order of execution
    • Networking state changes
      • Supported types
      • Messaging with Commands
      • Syncing child GameObjects
      • Animation
      • CoherenceSync references
      • [Sync] and [Command] Attributes
      • [OnValueSynced] Attribute
      • Creating your own syncable member
      • Custom Component Actions
      • Rigid Bodies
      • Interpolation
    • Authority
      • Authority transfer
      • Server-authoritative setup
    • Lifetime
      • Persistence
      • Uniqueness
      • Example: A global counter
    • Parenting network entities
      • Direct children CoherenceSyncs
      • Deeply-nested CoherenceSyncs
      • Nesting Prefabs at Edit time
    • Asset management
      • Instantiate via
      • Load via
      • Instantiating from CoherenceSyncConfig
    • Scene management
    • Baking (code generation)
    • Replication Server
      • Rooms and Worlds
      • Replication Server API
    • Simulators (Servers)
      • Scripting: Client vs Simulator
      • Run local Simulators
      • World Simulators
      • Room Simulators
      • Simulator slugs
      • Multi-Room Simulators
      • Build and Deploy
      • Command-line arguments
    • Client Connections
    • Optimization
      • Areas of Interest
      • Level of Detail (LOD)
      • Profiling
      • Simulation Frequency
    • Project Settings
    • Advanced topics
      • Big worlds
        • World Origin Shifting
        • Load balancing
      • Competitive games
        • Simulation Frame
        • Determinism, Prediction and Rollback
      • Team workflows
        • Version Control integration
        • Continuous Integration
      • Schema explained
        • Specification
        • Field settings
        • Archetypes
      • Code Stripping
      • Command-line interface tools
      • Single-player gameplay
    • Scripting API
  • Hosting
    • Choosing where to host
    • coherence Cloud
      • Online Dashboard
      • Manage Worlds
      • Configure Rooms
      • Lobbies
      • Game Services
        • Account
        • Key-Value Store
      • coherence Cloud APIs
        • Worlds API
        • Rooms API
        • Lobbies API
        • Game Services
          • Authentication Service (Player Accounts)
          • Key-value store
    • Peer-to-peer
      • Implementing Client hosting
  • Support
    • Release notes
    • Glossary
    • Unreal Engine support
    • WebGL support
    • ECS / DOTS support
    • Known issues and troubleshooting
    • Upgrade guide
      • Upgrade 1.2 -> 1.3
      • Upgrade 1.1 -> 1.2
      • Upgrade 1.0 -> 1.1
      • Upgrade 0.10 -> 1.0
      • Upgrade 0.9 -> 0.10
    • Credit cost & pricing
    • Report a bug
Powered by GitBook
On this page
  • Network engine
  • Authority models
  • Persistence
  • Engine support
  • General features
  • Unity SDK
  • Optimization and performance
  • Hosting and services

Was this helpful?

Export as PDF
  1. Overview

Features

Last updated 3 months ago

Was this helpful?

  • Fast network engine with cloud scaling, state replication, persistence and auto load balancing.

  • Easy to develop, iterate and operate connected games and experiences.

  • SDK allows developers to make multiplayer games using Windows, Linux or Mac, targeting desktop, console, mobile, VR or the web.

  • Game engine plugins and visual tools will help even non-coders create and quickly iterate on a connected game idea.

  • Scalable from small games to large virtual worlds running on hundreds of servers.

  • Game-service features like and .

Network engine

At the core of coherence lies a fast network engine based on bitstreams and a data-oriented architecture, with numerous optimization techniques like delta compression, quantization and ("Level of Detail") to minimize bandwidth and maximize performance.

Authority models

The network engine supports multiple models:

  • Client authority

  • Server authority

  • Server authority with client prediction

  • Authority handover (request, steal)

  • Distributed authority (multiple simulators with seamless transition)

  • Deterministic client prediction with rollback ("") - experimental

Different authority models can be mixed in the same game.

Persistence

Engine support

General features

  • Custom UDP transport layer using bit streams with reliability

  • WebRTC support for WebGL builds

  • Smooth state replication

  • Server-side, Client-side, distributed authority

  • Connected entity support

  • Fast authority transfer

  • Remote messaging (RPC)

  • Persistence

  • Verified support for Windows, macOS, Linux, Android, iOS and WebGL

  • Support for Rooms and Worlds

  • Floating Origin for extremely large virtual Worlds

  • TCP Fallback

  • Support for Client hosting through Steam Datagram Relay

Unity SDK

  • Unity SDK with an intuitive no-code layer

  • Per-field adjustable interpolation and extrapolation

  • Input queues

  • Easy deployment into the cloud

  • Multi-room Simulators

  • Multiple code generation strategies (Assets/Baking, automated with C# Source Generators)

  • Extendable object spawning strategies (Resources, Direct References, Addressables) or implement your own

Optimization and performance

  • Per-field compression and quantization

  • Per-field sampling frequency adjustable at runtime

  • Unlimited per-field levels of detail

  • Areas of interest

  • Accurate Simulation Frame tracking

  • Network profiler

Hosting and services

  • Online Dashboard for management and usage statistics

  • Automatic server deployment and scaling

  • Multiple regions in the US, Europe and Asia

  • Player accounts with a persistent key/value store

  • Matchmaking and lobby rooms

If you need to support your game in mainland China, please contact us for a custom solution.

coherence supports out of the box. This means that the state of the world is preserved no matter if clients or simulators are connected to it or not. This way, you can create shared worlds where visitors have a lasting impact.

The coherence SDK only supports Unity at the moment. Unreal Engine support is planned. For more specific details, please check the page. For custom engine integration,.

user account
key-value stores
network LOD-ing
authority
GGPO
Unreal Engine Support
please contact our developer relations team
persistence