A multiplayer networking solution for all developers
coherence is a complete, all-needs-covered toolkit to enable multiplayer in your Unity projects.
Get Started →We’re with you every step of the way
From development to testing and running your game locally or in the cloud, with hosting included right out of the box. Try anything from a simple co-op to dozens of players duking it out in a room-based match or even create a fully populated massive virtual world. coherence supports each of these use cases, and it lets you combine them as well. Run your dream project at any scale, in the cloud or with automatic scaling, or completely for free using client-hosting through Steam or other services.
Key Features
Explore some of what makes coherence the most flexible networking platform available.
Best in class ease of use.
After a quick installation of the coherence Unity SDK, it takes just a few moments to configure a scene and game objects so they can see each other over the network. Using our free cloud hosting option, you can then deploy your project online directly from within the Unity editor.
Find out more about coherence's incredible ease of use.
Seamless authority transfer between clients and servers
Authority defines which Client or Simulation Server is allowed to make changes to a network entity. In coherence, authority can be transferred freely and instantly between game clients and dedicated servers using the API.
This allows for all sorts of game architectures: from client-server, peer-to-peer, MMOs, or any combination of the above.
A flexible authority system opens up new possibilities – like moving authority over entities between servers, seamlessly.
You can freely transfer authority over any entity based on its location, function, or the current load of a given Client or Simulation Server.
Have a look at our Load Balancing video showing this in action.
Accurate and fast data replication
A key part of coherence is a smart relay called the Replication Server: a lean and performant server that keeps the state of the world and replicates it efficiently between various Simulators (or game servers) and Game Clients.
The Replication Server can be run locally during development; or in the cloud or even bundled with the game when in production or during online tests.
Built-in system for Areas of Interest
Out of the box, coherence offers a robust system for defining Areas of Interest, to make sure that the network traffic that each player receives is only relevant for them. This allows you to save bandwidth and computing power, especially in games with lots of entities, big worlds, and on mobile devices.
Optimization is not an afterthought
coherence uses its own bitstream-based network protocol that comes with excellent built-in data compression and quantization. In addition to these, Areas of Interest, variable sample rates and Levels of Detail give you an unprecedented additional level of control over bandwidth usage.
E.g. if something is far away, its position can use fewer bits when replicated. And if an entity never goes outside certain boundaries, coherence can compress the value even more to take advantage of that fact.
High-fidelity interpolation with historical states
While the default implementations shipped with the engine work well for most use cases, they are also highly configurable. To cater to your specific needs, you can configure the built-in interpolation, or replace it entirely and implement your own prediction algorithms based on historical states accessible through the API.
Huge worlds? No problem
coherence lets you move a 64-bit origin of the world in real time, and takes care of all the internal mappings without actually synchronizing all the positions with 64-bit precision (which would have a big impact on bandwidth use).
With world origin shifting, you will actually be able to build a game world that reaches from here to Mars and far beyond with a precision of less than a millimeter!
A one-stop shop.
Everything you need to build a real-time multiplayer experience, at any scale. Here are a few more features that can help make your project great.
coherence provides two types of replicated environments: Rooms and Worlds.
Rooms are best for session-based multiplayer gameplay that takes place in a short-lived environment.
Worlds on the other hand are long-lived and permanent multiplayer environments that can keep running for years. This is how MMOs are built.
Using as little bandwidth as possible is often key to running a viable multiplayer game. Data is replicated only where absolutely needed and at the resolution required at any given moment. Beyond cutting down on your platform costs, the benefits of bandwidth optimization also stretch to the client side: lower RAM use, better battery life for mobile devices and better results over low-speed or congested connections. In addition to bit streams, delta compression and quantization, coherence uses features like Area of Interest, variable sample rate and Levels of Detail to give developers unprecedented control over bandwidth use.
You’ve finished building your multiplayer game client, but how do you share it for feedback?
Whether it be a Windows, Mac or a Linux build, once you upload it to the coherence Cloud you will get a shareable URL that leads to your Public Builds page. Anyone can then download the Client from there.
And if you create a WebGL build, players will be able to get straight into the game from that very page!