PUN vs. Bolt
Introduction
PUN and Photon Bolt are two powerful game networking middlewares.
Choosing between the two is no easy task.
The goal of this document is to provide a comprehensible summarised comparison between these two tools to help the developers decide which one best fits their needs.
PUN
PUN (Photon Unity Networking) is a clone of the original Unity networking API, powered by the reliable Photon infrastructure.
Besides the omnipresent matchmaking, PUN basic building blocks are: serialization of game object states (with built in support for transforms, etc); and remote procedure calls (RPC).
PUN gives the developer direct and complete control of what to send/receive, and, coupled with its flexible multicast-like room relay communication model, is a powerful game networking workhorse.
Photon Bolt
Photon Bolt is a higher level API, which lets the developer define the networkable gamestate through a set of data structures (called bolt assets: states, objects, events and commands) and associate these assets to game objects prefabs.
Augmented by callbacks and triggering of events and commands, Bolt's networking model brings state of the art compression, client-side prediction and lag compensated raycasts to Unity with minimum effort from the developer.
Quick Comparison
| PUN/ PUN+ | Bolt | |
|---|---|---|
| CCU cost |
PUN: 20 free CCU PUN+: $95 once = 100 CCU for 12 months |
20 free CCU $95 once = 100 CCU for 12 months |
| Matchmaking | ||
| Room and Lobby Support | ||
| Filtering | ||
| NetCode | ||
| Bit Compression | ||
| Lag Compensation | ||
| Host Migration | (not built-in) | |
| Automatic Replication | ||
| Interest Management | (Interest Groups) | (Scoping / Prioritisation) |
| Offline Mode | ||
| Connectivity | ||
| Punch Through | (not needed) | (STUN) |
| LAN | (license may require internet access) | |
| Relay | (plus Steam/XB1/PSN add-ons) | |
| Multicast | ||
| Headless Server | ||
| Platforms support | ||
| Consoles | (request XB1/PSN/Nintendo Switch features) | (XB1/PSN add-ons) |
| WebGL | (WSS) | |
| Steam Integration | (not built-in) | (add-on) |
| Unity support | ||
| Unity 4 FREE: Web, Standalone | ||
| Unity 4 FREE: iOS, Android | (PUN+ required) | |
| Unity 5 | ||
| Automatic Mecanim Networking | (partial) | |
| PlayMaker Integration | (partial) | |
| Backend | ||
| Authoritative Server | ||
| Game Server Plugins | (Enterprise Cloud and self-hosted only) | (via Relay only) |
| Master Server | ||
| Custom Authentication | (via Relay only) | |
| Webhooks and WebRPC | (via Relay only) | |