docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct IPCAndSocketDriverConstructor

    The default NetCode driver constructor, initialise the server world to use multiple Unity.Networking.Transport.INetworkInterface and the client world using a single Unity.Networking.Transport.INetworkInterface, depending on the current RequestedPlayType and current platform. In particular:

    • On the server: both Unity.Networking.Transport.IPCNetworkInterface and Unity.Networking.Transport.UDPNetworkInterface NetworkDriver in the editor and only a single Unity.Networking.Transport.UDPNetworkInterface driver in the build.
    • On the client:
      • a single Unity.Networking.Transport.IPCNetworkInterface NetworkDriver if the both client and server worlds are present in the same process.
      • a single Unity.Networking.Transport.UDPNetworkInterface driver in all other cases.
        In the Editor and Development build, if the network simulator is enabled, force on the client to use the Unity.Networking.Transport.UDPNetworkInterface network driver. To let the client use the IPC network interface when in client and server mode, you must create the server world first (in other words; call NetworkStreamDriver.Listen on it before attempting to connect to it).
    Implements
    INetworkStreamDriverConstructor
    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Unity.NetCode
    Assembly: Unity.NetCode.dll
    Syntax
    public struct IPCAndSocketDriverConstructor : INetworkStreamDriverConstructor

    Methods

    CreateClientDriver(World, ref NetworkDriverStore, NetDebug)

    Create and register a new Unity.Networking.Transport.NetworkDriver suitable for connecting client to server to the destination NetworkDriverStore. The network driver instance will use socket or IPC network interfaces based on the RequestedPlayType and the presence of a server instance in the same process.
    For WebGL builds, client use by default the Unity.Networking.Transport.WebSocketNetworkInterface.

    Declaration
    public void CreateClientDriver(World world, ref NetworkDriverStore driverStore, NetDebug netDebug)
    Parameters
    Type Name Description
    World world

    The destination world in which the driver will be created

    NetworkDriverStore driverStore

    An instance of a NetworkDriverStore where the driver will be registered

    NetDebug netDebug

    The netDebug singleton, for logging errors and debug information

    CreateServerDriver(World, ref NetworkDriverStore, NetDebug)

    Create and register one or more network drivers that can be used to listen for incoming connection into the destination NetworkDriverStore. By default, a Unity.Networking.Transport.NetworkDriver that uses a socket network interface is always created. For WebGL builds in particular, the server use the Unity.Networking.Transport.WebSocketNetworkInterface for communicating with the clients.
    In the Editor or in a Client/Server player build, if the RequestedPlayType mode is set to ClientAndServer, a second Unity.Networking.Transport.NetworkDriver that use an IPC network interface will be also created and that will be used for minimizing the latency for the in-proc client connection.

    Declaration
    public void CreateServerDriver(World world, ref NetworkDriverStore driverStore, NetDebug netDebug)
    Parameters
    Type Name Description
    World world

    The destination world in which the driver will be created

    NetworkDriverStore driverStore

    An instance of a NetworkDriverStore where the driver will be registered

    NetDebug netDebug

    The netDebug singleton, for logging errors and debug information

    Implements

    INetworkStreamDriverConstructor
    In This Article
    Back to top
    Copyright © 2025 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)