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, and GNU/Linux. Xbox One, PS4, and Windows Phone 10 are planned.
Does not require Unity Pro - Bolt does not require Unity Pro for any platform and will run without problems on the free iOS and Android version of Unity.