[ Website | Dashboard | Docs | FAQ | Asset Store ]
Adds relays and punchthrough to UNet or Mirror.
Guarantees your players can connect while reducing latency and saving you money by connecting players directly whenever possible. Your players won't need to worry about forwarding ports or fiddling with router settings, they can just sit back, relax, and enjoy your beautiful game.
Supports Windows, Linux, OSX, Android, and iOS. Supports UNet or Mirror with LiteNetLib or Ignorance transports
Note: Web builds are not supported.
In order to use the Noble Connect relay and punchthrough services you will need to sign up for an account. You can do this on our website or through the Unity Engine at Window->Noble Connect->Setup. It is free to sign up but your CCU and bandwidth will be limited. In order to raise the limits you will either need to purchase the Starter Pack or one of the monthly plans.
Check out the Example scenes and scripts to see common ways to get connected. Each example includes a README file with more detailed instructions. If you need any more information don't hesitate to contact us at noble conn ect@n oble whale .com
Generally you should extend from the provided NobleNetworkManager. If you prefer something a little lower level, you can also use the NobleServer and NobleClient classes directly to Listen() and Connect(). Most things will work exactly the same as you are used to if you are familiar with UNet or Mirror
Note: For most methods that you override in NobleNetworkManager you will want to make sure to call the base method to avoid causing unexpected behaviour.
The main difference is that you will use the NobleNetworkManager instead of Unity or Mirror's NetworkManager, or the NobleServer and NobleClient instead of Unity's or Mirror's NetworkServer and NetworkClient.
Another difference is that the host will not know the address that clients should connect to until it has been assigned by the Noble Connect servers. You will need to override the OnServerPrepared() method to know when this has happened and to get the hostAddress and hostPort (collectively known as the HostEndPoint) that clients should use to connect to the host. This is generally when you would create a match if you're using a matchmaking system. You can also get the HostEndPoint address any time after it has been assigned via NobleServer.HostEndPoint or NobleNetworkManager.HostEndPoint.
By default the closest region will be selected automatically for relays. You can also manually select the region on the NobleNetworkManager or by passing in a GeographicRegion at runtime. You can see this in any of the example scenes.
We have servers in the following regions:
Punchthrough and relays work according to the ICE, TURN, and STUN specifications.