DEV Community

Cross-Platform Multiplayer Networking in Unity: FishNet, Mirror, and Photon Compared

The Three Contenders

FishNet - An open-source networking framework built specifically for Unity. Created by FirstGearGames, it positions itself as a modern, performance-focused alternative to Mirror.

Mirror - An open-source successor to Unity's deprecated UNET. The most widely adopted Unity networking solution, with a large community and extensive documentation.

Photon (PUN / Fusion) - A commercial networking platform with both client-hosted (PUN) and server-authoritative (Fusion) options. Provides managed infrastructure so you do not run your own servers.

Architecture: Server-Authoritative vs Peer-to-Peer

This is the most fundamental decision, and it constrains your framework choice.

Server-Authoritative - The server is the single source of truth. Clients send inputs; the server validates them and broadcasts the result. Cheating is significantly harder because the client cannot unilaterally modify game state.

When you need it: Any game with competitive mechanics, real-money economies, leaderboards, or persistent worlds. For Domi Online, server authority was non-negotiable as the game has a player-driven economy where item duplication or stat manipulation would destroy the game.

Frameworks: FishNet (excellent), Mirror (good), Photon Fusion (good, managed)

Peer-to-Peer / Client-Hosted - One player acts as the host. Other players connect to them. Simpler to set up, but the host has an inherent latency advantage and can potentially cheat.

When it works: Co-op games, casual multiplayer, games where cheating has low impact.

Frameworks: Mirror (common use case), Photon PUN (designed for this), FishNet (supports it but overkill)

Key Takeaway: Choose your architecture first, then pick the framework that best supports it. Do not let framework familiarity drive an architectural decision.

FishNet: Our Framework of Choice for Domi Online

Why We Chose It

When we evaluated networking options for Domi Online, we needed:

  • Server-authoritative architecture with full state control
  • Efficient bandwidth usage (MMORPG with hundreds of concurrent players)
  • Extensibility for custom serialisation of our 64-bit progression system
  • Active development and responsive maintainer

FishNet met all four criteria.

Strengths

  • Prediction and reconciliation - FishNet's client-side prediction is mature and well-documented. Players see immediate feedback on their actions while the server validates asynchronously.
  • Object spawning - network object lifecycle management is clean. Spawning, despawning, and ownership transfer are straightforward.
  • Custom serialisers - we wrote custom serialisation for our 64-bit stat system. FishNet's serialiser API made this painless.
  • Performance - benchmarks consistently show lower bandwidth overhead than Mirror for equivalent workloads.
  • Active development - the maintainer ships regular updates and is responsive to issues.

Weaknesses

  • Smaller community - fewer tutorials, Stack Overflow answers, and third-party integrations compared to Mirror
  • Documentation gaps - improving rapidly, but some advanced features require reading source code
  • Learning curve - developers coming from PUN or Mirror will need adjustment time

Mirror: The Community Standard

Strengths

  • Massive community - the most widely used Unity networking solution. Finding answers to common problems is easy.
  • Extensive transports - supports WebSocket, KCP, Steam, and more out of the box
  • Battle-tested - used in hundreds of shipped games across diverse genres
  • Low barrier to entry - getting a basic multiplayer prototype running is fast
  • Well-documented - comprehensive documentation and numerous tutorials

Weaknesses

  • Bandwidth efficiency - Mirror's default serialisation is less efficient than FishNet's. For small-scale multiplayer (4-16 players) this is irrelevant. For MMO-scale, it adds up.
  • Prediction - client-side prediction exists but is less mature than FishNet's implementation. Requires more manual work for smooth results.
  • Host migration - limited support. If the host disconnects in a client-hosted game, recovery is complex.

When to Choose Mirror

Mirror is the right choice when:

  • Your game has 2-16 players (co-op, competitive matches)
  • Development speed matters more than bandwidth optimisation
  • Your team has existing Mirror experience
  • You need maximum community support and third-party asset compatibility

Photon: Managed Infrastructure

Strengths

  • No server management - Photon handles matchmaking, relay servers, and infrastructure scaling. You do not run your own servers.
  • Global infrastructure - data centres worldwide with automatic region selection
  • Quick prototyping - PUN (Photon Unity Networking) gets a multiplayer prototype running in hours
  • Photon Fusion - their newer framework supports server-authoritative architecture with tick-based simulation, comparable to FishNet in capability

Weaknesses

  • Cost at scale - Photon charges per CCU (concurrent user). For an MMORPG with thousands of concurrent players, costs escalate quickly. This was a decisive factor in our decision not to use Photon for Domi Online.
  • Vendor lock-in - your networking code is tied to Photon's API. Migrating away is a significant rewrite.
  • Less control - you cannot inspect or modify the server infrastructure. Debugging latency issues requires Photon's support team.
  • PUN limitations - PUN is client-hosted only. For server-authoritative, you need Fusion, which has a steeper learning curve.

When to Choose Photon

Photon is the right choice when:

  • You do not want to manage servers
  • Your CCU will stay under a few hundred (where the free/affordable tiers apply)
  • You need rapid prototyping with minimal backend work
  • Global matchmaking is a requirement and you want it out of the box

Head-to-Head Comparison

Factor FishNet Mirror Photon PUN Photon Fusion
Architecture Server-auth or P2P Server-auth or P2P Client-hosted only Server-auth
Cost Free (open-source) Free (open-source) Per-CCU pricing Per-CCU pricing
Server management Self-hosted Self-hosted Managed Managed
Bandwidth efficiency Excellent Good Good Excellent
Client prediction Mature Basic N/A Mature
Community size Growing Large Large Growing
MMO suitability Excellent Possible Poor Good (but costly)
Prototyping speed Moderate Fast Very fast Moderate

Framework Comparison at a Glance

Here is how FishNet, Mirror, and Photon compare across the factors that matter most when choosing a multiplayer framework:

Feature FishNet Mirror Photon
Server authoritative ✅ Excellent ✅ Supported ⚠️ Fusion only (PUN is client-hosted)
Free/open source ✅ MIT licence ✅ MIT licence ❌ Per-CCU pricing
Cloud hosting ❌ Self-hosted ❌ Self-hosted ✅ Managed infrastructure
MMO scale ✅ Built for large scale ⚠️ Possible with effort ⚠️ Costly at high CCU
Learning curve ⚠️ Moderate ✅ Low barrier to entry ✅ PUN is very fast to learn
Active development ✅ Regular updates ✅ Mature, stable ✅ Actively maintained
Unity integration ✅ Purpose-built for Unity ✅ Purpose-built for Unity ✅ Official Unity SDK

Our Recommendation

There is no universal "best" framework. The right choice depends on your game:

  • Building an MMO or competitive game with a persistent world? FishNet. The bandwidth efficiency and prediction systems justify the smaller community. This is what we chose for Domi Online.
  • Building a co-op or small-scale multiplayer game? Mirror. The community support and rapid development speed outweigh its efficiency gap at small player counts.
  • Building a prototype or MVP with no backend team? Photon PUN. Get something playable fast and evaluate whether the pricing model works at your projected scale.
  • Need server-authoritative without managing infrastructure? Photon Fusion. But model your CCU costs carefully before committing.

Key Takeaway: The framework you prototype with is not necessarily the framework you ship with. Evaluate based on your production requirements, not your prototyping requirements.

Related Reading

  • Domi Online Case Study - Our MMORPG networking architecture in practice
  • Network Engineering Services - How we approach multiplayer projects
  • Domi Online Project Page - The game itself
  • Game Development Cost Estimator - Multiplayer significantly affects project cost.

Comments

No comments yet. Start the discussion.