Bolt is a very powerful networking solution for Unity, being very popular among its community. The recipe for its success resides in the abstraction of complex networking features behind simple and easy interfaces.
Powerful Event System - Bolt has a built-in event system which automatically distributes the events to the correct receivers. It is highly configurable of course and events can also be targeted at a specific game object or globally. Three delivery modes are available: Unreliable, Unreliable Synced and Reliable.
Authoritative movement - Built-in support for input and player controller state synchronization allows you to easily implement custom authoritative movement that suits your game.
Both dedicated and listen server - Bolt supports the classic dedicated server and also listen servers where the server is just another player.
Prioritization and scoping - Bolt supports both scoping of entities (which entities should a player be aware of) and prioritization of scoped entities (of two entities A and B that are scoped, which one is the most important for a player).
Hit-box recording - Bolt has built-in support for recording hit-boxes and rewinding and ray-casting against them, allowing you to implement complex techniques like lag compensation in first person shooters with just a few lines of code.
Synchronized map loading - Bolt supports loading maps/scenes from the server, have all the clients load the same map/scene and then provide custom hooks telling the server when the client is ready and vice verse.
Supports all major unity platforms - Bolt runs on Windows, OSX, iOS, Android, GNU/Linux, and Xbox One. PS4 and Switch are being worked on.
Guaranteed connect and matchmaking - With Photon Cloud integration, clients connect directly through punchthrough. If that fails to falls back to our relay service. It also includes the same matchmaking features as PUN.