Class NetworkTransport
The generic transport class all Netcode for GameObjects network transport implementations derive from. Use this class to add a custom transport. UnityTransport
Inherited Members
Namespace: Unity.Netcode
Syntax
public abstract class NetworkTransport : MonoBehaviour
  Properties
IsSupported
Gets a value indicating whether this NetworkTransport is supported in the current runtime context This is used by multiplex adapters
Declaration
public virtual bool IsSupported { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
  | 
      
ServerClientId
A constant clientId that represents the server
When this value is found in methods such as Send, it should be treated as a placeholder that means "the server"
Declaration
public abstract ulong ServerClientId { get; }
  Property Value
| Type | Description | 
|---|---|
| UInt64 | 
Methods
DisconnectLocalClient()
Disconnects the local client from the server
Declaration
public abstract void DisconnectLocalClient()
  DisconnectRemoteClient(UInt64)
Disconnects a client from the server
Declaration
public abstract void DisconnectRemoteClient(ulong clientId)
  Parameters
| Type | Name | Description | 
|---|---|---|
| UInt64 | clientId | The clientId to disconnect  | 
      
GetCurrentRtt(UInt64)
Gets the round trip time for a specific client. This method is optional
Declaration
public abstract ulong GetCurrentRtt(ulong clientId)
  Parameters
| Type | Name | Description | 
|---|---|---|
| UInt64 | clientId | The clientId to get the RTT from  | 
      
Returns
| Type | Description | 
|---|---|
| UInt64 | Returns the round trip time in milliseconds  | 
      
Initialize(NetworkManager)
Initializes the transport
Declaration
public abstract void Initialize(NetworkManager networkManager = null)
  Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkManager | networkManager | optionally pass in NetworkManager  | 
      
InvokeOnTransportEvent(NetworkEvent, UInt64, ArraySegment<Byte>, Single)
Invokes the OnTransportEvent. Invokation has to occur on the Unity thread in the Update loop.
Declaration
protected void InvokeOnTransportEvent(NetworkEvent eventType, ulong clientId, ArraySegment<byte> payload, float receiveTime)
  Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkEvent | eventType | The event type  | 
      
| UInt64 | clientId | The clientId this event is for  | 
      
| ArraySegment<Byte> | payload | The incoming data payload  | 
      
| Single | receiveTime | The time the event was received, as reported by Time.realtimeSinceStartup.  | 
      
PollEvent(out UInt64, out ArraySegment<Byte>, out Single)
Polls for incoming events, with an extra output parameter to report the precise time the event was received.
Declaration
public abstract NetworkEvent PollEvent(out ulong clientId, out ArraySegment<byte> payload, out float receiveTime)
  Parameters
| Type | Name | Description | 
|---|---|---|
| UInt64 | clientId | The clientId this event is for  | 
      
| ArraySegment<Byte> | payload | The incoming data payload  | 
      
| Single | receiveTime | The time the event was received, as reported by Time.realtimeSinceStartup.  | 
      
Returns
| Type | Description | 
|---|---|
| NetworkEvent | Returns the event type  | 
      
Send(UInt64, ArraySegment<Byte>, NetworkDelivery)
Send a payload to the specified clientId, data and networkDelivery.
Declaration
public abstract void Send(ulong clientId, ArraySegment<byte> payload, NetworkDelivery networkDelivery)
  Parameters
| Type | Name | Description | 
|---|---|---|
| UInt64 | clientId | The clientId to send to  | 
      
| ArraySegment<Byte> | payload | The data to send  | 
      
| NetworkDelivery | networkDelivery | The delivery type (QoS) to send data with  | 
      
Shutdown()
Shuts down the transport
Declaration
public abstract void Shutdown()
  StartClient()
Connects client to the server
Declaration
public abstract bool StartClient()
  Returns
| Type | Description | 
|---|---|
| Boolean | Returns success or failure  | 
      
StartServer()
Starts to listening for incoming clients
Declaration
public abstract bool StartServer()
  Returns
| Type | Description | 
|---|---|
| Boolean | Returns success or failure  | 
      
Events
OnTransportEvent
Occurs when the transport has a new transport network event. Can be used to make an event based transport instead of a poll based. Invocation has to occur on the Unity thread in the Update loop.
Declaration
public event NetworkTransport.TransportEventDelegate OnTransportEvent
  Event Type
| Type | Description | 
|---|---|
| NetworkTransport.TransportEventDelegate |