docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class NetworkTransport

    The generic transport class all Netcode for GameObjects network transport implementations derive from. Use this class to add a custom transport. for an example of how a transport is integrated

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    NetworkTransport
    TestingNetworkTransport
    UnityTransport
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.didStart
    MonoBehaviour.didAwake
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.CompareTag(TagHandle)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Netcode
    Assembly: Unity.Netcode.Runtime.dll
    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
    bool

    true if is supported; otherwise, false.

    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
    ulong

    Methods

    DisconnectLocalClient()

    Disconnects the local client from the server

    Declaration
    public abstract void DisconnectLocalClient()

    DisconnectRemoteClient(ulong)

    Disconnects a client from the server

    Declaration
    public abstract void DisconnectRemoteClient(ulong clientId)
    Parameters
    Type Name Description
    ulong clientId

    The clientId to disconnect

    GetCurrentRtt(ulong)

    Gets the round trip time for a specific client. This method is optional

    Declaration
    public abstract ulong GetCurrentRtt(ulong clientId)
    Parameters
    Type Name Description
    ulong clientId

    The clientId to get the RTT from

    Returns
    Type Description
    ulong

    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, ulong, ArraySegment<byte>, float)

    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

    ulong clientId

    The clientId this event is for

    ArraySegment<byte> payload

    The incoming data payload

    float receiveTime

    The time the event was received, as reported by Time.realtimeSinceStartup.

    OnCurrentTopology()

    Declaration
    protected virtual NetworkTopologyTypes OnCurrentTopology()
    Returns
    Type Description
    NetworkTopologyTypes

    PollEvent(out ulong, out ArraySegment<byte>, out float)

    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
    ulong clientId

    The clientId this event is for

    ArraySegment<byte> payload

    The incoming data payload

    float receiveTime

    The time the event was received, as reported by Time.realtimeSinceStartup.

    Returns
    Type Description
    NetworkEvent

    Returns the event type

    Send(ulong, 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
    ulong 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
    bool

    Returns success or failure

    StartServer()

    Starts to listening for incoming clients

    Declaration
    public abstract bool StartServer()
    Returns
    Type Description
    bool

    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
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)