Nebula

Nebula and other Unity networking libraries

An honest comparison of Nebula with Netcode for GameObjects, Mirror, FishNet, and Photon Fusion, and the gaps Nebula intends to close.

Read this page to decide whether Nebula fits your game. It also serves as a roadmap: every gap listed here is one we intend to close, and the last section collects them.

The comparison was last reviewed on 2026-09-18 against Netcode for GameObjects 2.x, Mirror, FishNet, and Photon Fusion 2. These libraries change; check their documentation before you rely on a cell in the matrix, and open an issue if one is wrong.

Understand the difference in kind

Netcode for GameObjects (NGO), Mirror, FishNet, and Photon Fusion are replication libraries. One server process, or one player acting as host, runs one session. Your world is limited to what that process can simulate. To go further you shard or instance the game, and you build the code that connects the shards.

Nebula is a server mesh. You divide the world into containers, many Unity workers simulate them, and entities move between workers while clients stay connected to a gateway. The orchestrator, the dashboard, the CLI, and Nebula Cloud are part of the same product.

Most of the advantages and disadvantages below follow from this difference.

Choose Nebula when

  • Your game is a persistent or large shared world that will outgrow one server process.
  • You want server authority with prediction, and you do not want players to host.
  • You want hosting, scaling, deploys, and rollback from the same tool that runs the mesh on your machine, without hiring for operations.
  • You want the option to host it yourself. The source is available under a noncommercial license (commercial use needs a license from 1by3), and Nebula Cloud is optional.

Choose another library when

  • Your game is session based with a small number of players: co-op, party games, arena matches. A player host or a relay is simpler and costs almost nothing to run. Nebula has neither.
  • You need a library that has shipped many games today. Nebula is in alpha.
  • Your game depends on fine-grained interest management, built-in lag-compensated hit detection, or deterministic simulation. See the matrix.
  • You use Unity ECS. Use Netcode for Entities.

Feature matrix

"Yours to build" means the library does not prevent it, but you write and operate it.

World scale and topology

NebulaNGOMirrorFishNetPhoton Fusion
One world across many server processesYes, with entity handoverNoNoNoNo
Player host or peer-to-peer modeNoYes, plus distributed authorityYesYesYes, host and shared modes
Relay for games without serversNoUnity RelayThird partyThird partyPhoton Cloud
Dedicated server modeRequiredYesYesYesYes
Moving spaces with local coordinates (ships, trains)Yes, dynamic containersYours to buildYours to buildYours to buildYours to build
Large-world streaming and floating originYes, world partitionYours to buildYours to buildYours to buildYours to build
Private instances inside a shared worldYes, instancingSeparate sessionsSeparate sessions or scenesSeparate sessions or scenesSeparate sessions

Gameplay networking

NebulaNGOMirrorFishNetPhoton Fusion
Client prediction and reconciliationYes, input basedAnticipation building blocks onlyExperimentalYes, matureYes, mature
Prediction continues across a server changeYes, pending input moves with authorityNot applicableNot applicableNot applicableNot applicable
Lag compensationPose history; validation is yours to buildYours to buildBetaYesYes, hitbox rewind built in
Interest managementInstance visibility and distance-based update rate; no spatial cullingManual show and hideYes, several strategiesYes, observer conditionsYes, area of interest
RPC routed to whichever server owns the targetYes, [AuthorityRpc]Not applicableNot applicableNot applicableNot applicable
Deterministic simulationNoNoNoNoNo (Photon Quantum)
Web clientsYes, WebRTCYes, WebSocketYes, WebSocketYes, WebSocketYes

Operations

NebulaNGOMirrorFishNetPhoton Fusion
Orchestration and worker autoscalingIncluded, scales to zeroYours to build. Unity's Multiplay hosting closed in March 2026Yours to buildYours to buildPhoton Cloud for relayed modes; dedicated servers are yours to host
Same topology on your machine and in productionYes, nebula start and nebula deployNot applicableNot applicableNot applicableNot applicable
Managed hosting from the same vendorNebula Cloud (beta)NoNoNoPhoton Cloud
Host it yourself without a vendor accountYesYesYesYesNo, sessions are licensed per concurrent user
Releases, rollback, protocol-change guardYes, on Nebula CloudYours to buildYours to buildYours to buildYours to build
Live dashboard and per-process metricsIncludedProfiler tools in the EditorYours to buildYours to buildPhoton dashboard
Entity persistenceOpt in, SQLite or PostgreSQLYours to buildYours to buildYours to buildYours to build
Recovery when a server process stopsContainers are reassigned, persistent entities are restored, sessions are reclaimedSession ends, or host migration in distributed authoritySession endsSession endsHost migration in host mode
Player authenticationAnonymous and OpenID Connect at the gatewayUnity AuthenticationAuthenticator hooksAuthenticator hooksCustom authentication service
Lobbies, matchmaking, voiceNoUnity Gaming ServicesThird partyThird partyPhoton services

Security and maturity

NebulaNGOMirrorFishNetPhoton Fusion
Encrypted client linkWeb clients only (DTLS). Native UDP is not encryptedYes, DTLS in Unity TransportWith an encryption transportDepends on the transportYes
Clients never see game server addressesYes, the gateway fronts themNoNoNoIn relayed modes
Production track recordNone yet, alphaMany gamesMany games, about a decadeMany gamesMany games
Community, tutorials, Asset Store integrationsSmallLargeLargeLargeLarge
Stable wire protocol between releasesNo, a protocol change disconnects clientsYesYesYesYes

What Nebula does that the others do not

Entity handover between servers. An authority transfer carries the pose, every NetworkVariable, the input the worker has not simulated yet, and your own handover state. Ghosts let a worker raycast and collide against entities it does not control, and authority epochs stop a previous owner from overwriting newer state. This is the hard part of a meshed world, and no replication library attempts it.

Operations are part of the product. The orchestrator assigns containers, scales workers on measured utilization, drains a worker before it retires, and replaces one that stops. The mesh you run with nebula start has the same roles as the one you deploy.

Nebula Cloud closes the loop. nebula deploy --target cloud provisions machines, load-balanced gateways, and the database without a cloud provider account or ssh. Releases are immutable, a failed rollout leaves the previous release running, a spend limit refuses scale-out but never ends running sessions, and you can leave for your own machines at any time.

Failure behavior is documented. Architecture states what happens when each role stops. In a replication library the answer is usually that the session ends.

What Nebula costs you

A higher floor. The smallest mesh is an orchestrator, a gateway, a worker, and a database. A four-player co-op game does not need any of that.

More concepts. You author container boundaries by hand. A ghost does not run NetworkTick. State that lives outside NetworkVariable crosses a boundary only if you write it in WriteHandoverState. Replication libraries ask for none of this.

An extra hop. Every client packet passes through the gateway before it reaches a worker.

Alpha software. One maintainer, no shipped titles, and a wire protocol that still changes.

Gaps we intend to close

We treat the matrix as a work list. These are the gaps, roughly in the order we expect them to matter to a game that fits Nebula. None has a date yet.

GapTodayWhere we want to be
Interest managementThe gateway lowers the update rate with distance, but every observer of an instance receives every spawn.Spatial culling at the gateway so a client receives only the entities near it.
Hit validationStateAt(tick) returns past poses and marked variables, on the authority and on ghosts, within a configurable window. Rewinding colliders and validating a claim are yours to build; a reference sample ships with the package.A turnkey lag-compensated hit API.
Remote damage claims[AuthorityRpc] delivers the call; it does not validate it.Validation hooks on the target's worker, with a documented pattern.
EncryptionNative UDP clients and worker links are not encrypted.Encrypted client links on every transport, and authenticated, encrypted worker links.
RolloutsA rollout restarts the orchestrator and disconnects players.Rolling updates that drain workers and gateways without ending sessions.
Protocol stabilityA protocol change disconnects every client and locks out old builds.Versioned negotiation so a release can accept the previous client version.
Container boundariesAuthored by hand; the orchestrator balances containers, not the space inside one.Tools that show load per container and suggest splits. Automatic splitting is further out.
Gateway recoveryThe orchestrator does not restart a gateway outside Nebula Cloud.Gateway supervision on every worker host.
Session gamesNo host mode, relay, lobby, or matchmaking.Not planned. Use a replication library; we would rather do one thing well.
Nebula CloudBeta, a small set of regions, no service level agreement.General availability with more regions and a published agreement.
EcosystemFew samples, no integrations.More samples, and guides for common character controllers and assets.

If a gap blocks your game, tell us. It changes the order.

On this page