Class SessionOptionsExtensions
Extensions to enable modules
Inherited Members
Namespace: Unity.Services.Multiplayer
Assembly: Unity.Services.Multiplayer.dll
Syntax
public static class SessionOptionsExtensions
Methods
WithDirectNetwork<T>(T, string, string, int?)
Configures a session to use direct networking and accept connections at the specified address.
Declaration
public static T WithDirectNetwork<T>(this T options, string listenIp = null, string publishIp = null, int? port = null) where T : SessionOptions
Parameters
Type | Name | Description |
---|---|---|
T | options | The SessionOptions this extension method applies to. |
string | listenIp | Listen for incoming connection at this address ("0.0.0.0" for all interfaces). |
string | publishIp | Address that clients should use when connecting (defaults to listenIp) |
int? | port | Port to listen for incoming connections and also the one to use by clients |
Returns
Type | Description |
---|---|
T | SessionOptions |
Type Parameters
Name | Description |
---|---|
T |
Remarks
To listen on all interfaces, use 0.0.0.0 as the listenIp and specify the external/public IP address that clients should use as the publishIp. To allow local connections only, use 127.0.0.1 as the listenIp. The port number applies to both addresses and cannot be 0. Using direct networking in client-hosted games reveals the IP address of players to the host. For client-hosted games, using Relay or Distributed Authority is recommended to handle NAT, firewalls and protect player privacy.
WithNetworkHandler<T>(T, INetworkHandler)
Configures a session to use a custom network handler.
Declaration
public static T WithNetworkHandler<T>(this T options, INetworkHandler networkHandler) where T : BaseSessionOptions
Parameters
Type | Name | Description |
---|---|---|
T | options | The SessionOptions this extension method applies to. |
INetwork |
networkHandler | The INetwork |
Returns
Type | Description |
---|---|
T |
Type Parameters
Name | Description |
---|---|
T |
Remarks
When enabled, disables the default integration with Netcode for Game Objects and Netcode for Entities.
Combine this option with another networking option (With
WithRelayNetwork<T>(T, string)
Configures a session to use Relay networking.
Declaration
public static T WithRelayNetwork<T>(this T options, string region = null) where T : SessionOptions
Parameters
Type | Name | Description |
---|---|---|
T | options | The SessionOptions this extension method applies to. |
string | region | Force a specific Relay region to be used and skip auto-selection from QoS. |
Returns
Type | Description |
---|---|
T | SessionOptions |
Type Parameters
Name | Description |
---|---|
T |
Remarks
The region is optional; the default behavior is to perform quality of service (QoS) measurements and pick the lowest latency region. The list of regions can be obtained from the Relay Allocations Service via RelayService.Instance.ListRegionsAsync.