docs.unity3d.com
  • Manual
  • Scripting API
  • Changelog
  • License
    Show / Hide Table of Contents
    • Global Namespace
      • Netcode​Conversion​Target
      • Netcode​Transform​Usage​Flags​Test​Authoring
      • Netcode​Transform​Usage​Flags​Test​Authoring.​Baker
      • Test​Net​Code​Authoring
      • Test​Net​Code​Authoring.​IConverter
    • Unity.​Net​Code
      • Apply​Current​Input​Buffer​Element​To​Input​Data<TInput​Buffer​Data, TInput​Component​Data>
      • Apply​Current​Input​Buffer​Element​To​Input​Data<TInput​Buffer​Data, TInput​Component​Data>.​Apply​Input​Data​From​Buffer​Job
      • Auto​Command​Target
      • Batch​Predict​Attribute
      • Client​Only​Variant
      • Client​Populate​Prespawned​Ghosts​System
      • Client​Server​Bootstrap
      • Client​Server​Bootstrap.​Play​Type
      • Client​Server​Tick​Rate
      • Client​Server​Tick​Rate.​Frame​Rate​Mode
      • Client​Server​World​Extensions
      • Client​Tick​Rate
      • Client​Track​Loaded​Prespawn​Sections
      • Command​Data​Interpolation​Delay
      • Command​Data​Utility
      • Command​Receive​System<TCommand​Data​Serializer, TCommand​Data>
      • Command​Receive​System<TCommand​Data​Serializer, TCommand​Data>.​Receive​Job​Data
      • Command​Receive​System​Group
      • Command​Send​System<TCommand​Data​Serializer, TCommand​Data>
      • Command​Send​System<TCommand​Data​Serializer, TCommand​Data>.​Send​Job​Data
      • Command​Send​System​Group
      • Command​Target
      • Command​Target​Component
      • Compare​Command​System​Group
      • Component​Type​Serialization​Strategy
      • Component​Type​Serialization​Strategy.​Default​Type
      • Connection​State
      • Connection​State.​State
      • Convert​Prediction​Entry
      • Copy​Input​To​Command​Buffer<TInput​Buffer​Data, TInput​Component​Data>
      • Copy​Input​To​Command​Buffer<TInput​Buffer​Data, TInput​Component​Data>.​Copy​Input​To​Buffer​Job
      • Default​Driver​Builder
      • Default​Smoothing​Action​User​Params
      • Default​Smoothing​Action​User​Params​Authoring
      • Default​Translation​Smoothing​Action
      • Default​Translation​Smoothing​Action.​Default​Static​User​Params
      • Default​Variant​System​Base
      • Default​Variant​System​Base.​Rule
      • Default​Variant​System​Group
      • Disable​Automatic​Prespawn​Section​Reporting
      • Disable​Automatic​Prespawn​Section​Reporting​Authoring
      • Disconnect​Reason​Enum​To​String
      • Dont​Serialize​For​Command​Attribute
      • Dont​Serialize​Variant
      • Dont​Support​Prefab​Overrides​Attribute
      • Driver​Migration​System
      • Enable​Packet​Logging
      • Fixed​Step​Ghost​Prediction​System​Group
      • Game​Protocol​Version
      • Ghost​Authoring​Component
      • Ghost​Authoring​Inspection​Component
      • Ghost​Child​Entity
      • Ghost​Child​Entity​Component
      • Ghost​Collection
      • Ghost​Collection​Prefab
      • Ghost​Collection​Prefab.​Loading​State
      • Ghost​Collection​System
      • Ghost​Component
      • Ghost​Component​Attribute
      • Ghost​Component​Serializer​Collection​Data
      • Ghost​Component​Serializer​Collection​System​Group
      • Ghost​Component​Utilities
      • Ghost​Component​Variation​Attribute
      • Ghost​Connection​Position
      • Ghost​Count
      • Ghost​Delta​Predictor
      • Ghost​Deserializer​State
      • Ghost​Despawn​System
      • Ghost​Distance​Data
      • Ghost​Distance​Importance
      • Ghost​Distance​Partitioning​System
      • Ghost​Distance​Partition​Shared
      • Ghost​Enabled​Bit​Attribute
      • Ghost​Field​Attribute
      • Ghost​Field​Sub​Type
      • Ghost​Group
      • Ghost​Importance
      • Ghost​Importance.​Scale​Importance​Delegate
      • Ghost​Input​System​Group
      • Ghost​Instance
      • Ghost​Mode
      • Ghost​Mode​Mask
      • Ghost​Optimization​Mode
      • Ghost​Owner
      • Ghost​Owner​Component
      • Ghost​Owner​Is​Local
      • Ghost​Prediction​History​System
      • Ghost​Prediction​Smoothing
      • Ghost​Prediction​Smoothing.​Smoothing​Action​Delegate
      • Ghost​Prediction​Smoothing​System
      • Ghost​Prediction​Switching​Queues
      • Ghost​Prediction​Switching​System
      • Ghost​Prediction​System​Group
      • Ghost​Prefab​Creation
      • Ghost​Prefab​Creation.​Component
      • Ghost​Prefab​Creation.​Component​Override
      • Ghost​Prefab​Creation.​Component​Override​Type
      • Ghost​Prefab​Creation.​Config
      • Ghost​Prefab​Type
      • Ghost​Receive​System
      • Ghost​Relevancy
      • Ghost​Relevancy​Mode
      • Ghost​Send​System
      • Ghost​Send​System​Data
      • Ghost​Send​Type
      • Ghost​Serializer​Attribute
      • Ghost​Serializer​State
      • Ghost​Simulation​System​Group
      • Ghost​Spawn​Buffer
      • Ghost​Spawn​Buffer.​Type
      • Ghost​Spawn​Classification​System
      • Ghost​Spawn​Queue
      • Ghost​Spawn​Queue​Component
      • Ghost​Spawn​System
      • Ghost​Spawn​System​Group
      • Ghost​Type
      • Ghost​Type​Component
      • Ghost​Type​Partition
      • Ghost​Update​System
      • ICommand​Data
      • ICommand​Data​Serializer<T>
      • IGhost​Component​Serializer​Registration
      • IInput​Buffer​Data
      • IInput​Component​Data
      • Incoming​Command​Data​Stream​Buffer
      • Incoming​Command​Data​Stream​Buffer​Component
      • Incoming​Rpc​Data​Stream​Buffer
      • Incoming​Rpc​Data​Stream​Buffer​Component
      • Incoming​Snapshot​Data​Stream​Buffer
      • Incoming​Snapshot​Data​Stream​Buffer​Component
      • INetwork​Stream​Driver​Constructor
      • Input​Event
      • IPCAnd​Socket​Driver​Constructor
      • IRpc​Command
      • IRpc​Command​Serializer<T>
      • Lag​Compensation​Config
      • Migration​Ticket
      • Net​Code​Debug​Config
      • Net​Code​Debug​Config​Authoring
      • Net​Code​Disable​Command​Code​Gen​Attribute
      • Net​Code​Physics​Config
      • Net​Debug
      • Net​Debug.​Log​Level​Type
      • Net​Debug​System
      • Network​Driver​Store
      • Network​Driver​Store.​Driver​Visitor
      • Network​Driver​Store.​Network​Driver​Instance
      • Network​Id
      • Network​Id​Component
      • Network​Id​Debug​Color​Utility
      • Network​Protocol​Version
      • Network​Receive​System​Group
      • Network​Snapshot​Ack
      • Network​Snapshot​Ack​Component
      • Network​Stream​Connection
      • Network​Stream​Connect​System
      • Network​Stream​Disconnect​Reason
      • Network​Stream​Driver
      • Network​Stream​In​Game
      • Network​Stream​Listen​System
      • Network​Stream​Protocol
      • Network​Stream​Receive​System
      • Network​Stream​Request​Connect
      • Network​Stream​Request​Disconnect
      • Network​Stream​Request​Listen
      • Network​Stream​Request​Listen​Result
      • Network​Stream​Request​Listen​Result.​State
      • Network​Stream​Snapshot​Target​Size
      • Network​Tick
      • Network​Time
      • Network​Time​Flags
      • Network​Time​System
      • Network​Time​System​Data
      • Outgoing​Command​Data​Stream​Buffer
      • Outgoing​Command​Data​Stream​Buffer​Component
      • Outgoing​Rpc​Data​Stream​Buffer
      • Outgoing​Rpc​Data​Stream​Buffer​Component
      • Pending​Spawn​Placeholder
      • Pending​Spawn​Placeholder​Component
      • Physics​Default​Variant​System
      • Physics​Graphical​Smoothing​Default​Variant
      • Physics​Velocity​Default​Variant
      • Physics​World​History
      • Physics​World​History​Singleton
      • Portable​Function​Pointer<T>
      • Position​Only​Variant
      • Position​Rotation​Variant
      • Position​Scale​Variant
      • Predicted​Fixed​Step​Simulation​System​Group
      • Predicted​Ghost
      • Predicted​Ghost​Component
      • Predicted​Ghost​Spawn
      • Predicted​Ghost​Spawn​List
      • Predicted​Ghost​Spawn​Request
      • Predicted​Ghost​Spawn​Request​Component
      • Predicted​Ghost​Spawn​System
      • Predicted​Physics​Config​System
      • Predicted​Physics​Non​Ghost​World
      • Predicted​Physics​Validation​System
      • Predicted​Simulation​System​Group
      • Pre​Serialized​Ghost
      • Pre​Spawned​Ghost​Index
      • Prespawn​Ghost​System​Group
      • Prespawn​Section​Ack
      • Receive​Rpc​Command​Request
      • Receive​Rpc​Command​Request​Component
      • Relevant​Ghost​For​Connection
      • Rotation​Only​Variant
      • Rotation​Scale​Variant
      • Rpc​Collection
      • Rpc​Command​Request<TAction​Serializer, TAction​Request>
      • Rpc​Command​Request<TAction​Serializer, TAction​Request>.​Send​Rpc​Data
      • Rpc​Command​Request​System​Group
      • Rpc​Deserializer​State
      • Rpc​Executor
      • Rpc​Executor.​Execute​Delegate
      • Rpc​Executor.​Parameters
      • Rpc​Queue<TAction​Serializer, TAction​Request>
      • Rpc​Serializer​State
      • Rpc​System
      • Rpc​System​Errors
      • Send​Rpc​Command​Request
      • Send​Rpc​Command​Request​Component
      • Send​To​Owner​Type
      • Server​Only​Variant
      • Server​Populate​Prespawned​Ghosts​System
      • Server​Track​Loaded​Prespawn​Sections
      • Shared​Ghost​Type​Component
      • Simulator​Preset
      • Smoothing​Action
      • Snapshot​Data
      • Snapshot​Data.​Data​At​Tick
      • Snapshot​Data​Buffer
      • Snapshot​Dynamic​Buffers​Helper
      • Snapshot​Dynamic​Data​Buffer
      • Spawned​Ghost
      • Spawned​Ghost​Entity​Map
      • Sub​Scene​Ghost​Component​Hash
      • Sub​Scene​With​Prespawn​Ghosts
      • Supports​Prefab​Overrides​Attribute
      • Switch​Prediction​Smoothing
      • Switch​Prediction​Smoothing​Physics​Ordering​System
      • Switch​Prediction​Smoothing​System
      • Transform​Default​Variant
      • Transform​Default​Variant​System
      • Transport​Type
      • Unique​Input​Tick​Map
      • Unscaled​Client​Time
    • Unity.​Net​Code.​Editor
      • Prespawned​Ghost​Preprocess​Scene
    • Unity.​Net​Code.​Generators
      • Type​Registry​Entry
      • User​Defined​Templates
    • Unity.​Net​Code.​Hybrid
      • Baker​Extensions
      • Enable​Animation​Controller​Prediction​Update
      • Ghost​Animation​Controller
      • Ghost​Animation​Controller​Interpolation​System
      • Ghost​Animation​Controller​Prediction​System
      • Ghost​Animation​Controller​Server​System
      • Ghost​Animation​Graph​Asset
      • Ghost​Playable​Behaviour
      • Ghost​Presentation​Game​Object​Authoring
      • Ghost​Presentation​Game​Object​Entity​Owner
      • Ghost​Presentation​Game​Object​Prefab
      • Ghost​Presentation​Game​Object​Prefab​Reference
      • Ghost​Presentation​Game​Object​System
      • Ghost​Presentation​Game​Object​Transform​System
      • IRegister​Playable​Data
    • Unity.​Net​Code.​Low​Level
      • Snapshot​Data​Buffer​Component​Lookup
      • Snapshot​Data​Lookup​Helper
    • Unity.​Net​Code.​Low​Level.​Unsafe
      • Ghost​Component​Serializer
      • Ghost​Component​Serializer.​Copy​To​From​Snapshot​Delegate
      • Ghost​Component​Serializer.​Deserialize​Delegate
      • Ghost​Component​Serializer.​Post​Serialize​Buffer​Delegate
      • Ghost​Component​Serializer.​Post​Serialize​Delegate
      • Ghost​Component​Serializer.​Predict​Delta​Delegate
      • Ghost​Component​Serializer.​Report​Prediction​Errors​Delegate
      • Ghost​Component​Serializer.​Restore​From​Backup​Delegate
      • Ghost​Component​Serializer.​Send​Mask
      • Ghost​Component​Serializer.​Serialize​Buffer​Delegate
      • Ghost​Component​Serializer.​Serialize​Child​Delegate
      • Ghost​Component​Serializer.​Serialize​Delegate
      • Ghost​Component​Serializer.​State
    • Scripting API
    • Unity.​Net​Code
    • Network​Driver​Store

    Struct NetworkDriverStore

    Store and manage an array of NetworkDriver. The capacity is fixed to Capacity. The driver registration should start by calling BeginDriverRegistration() and terminate with EndDriverRegistration(). The store also provide some accessor and utlilty methods.

    Inherited Members
    ValueType.Equals(Object)
    ValueType.GetHashCode()
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Namespace: Unity.NetCode
    Syntax
    public struct NetworkDriverStore

    Fields

    Capacity

    The fixed capacity of the driver container.

    Declaration
    public const int Capacity = 3
    Field Value
    Type Description
    Int32

    FirstDriverId

    The first assigned uniqued identifier to each driver.

    Declaration
    public const int FirstDriverId = 1
    Field Value
    Type Description
    Int32

    Properties

    DriversCount

    The number of registed drivers. Must be always less then the total driver Capacity.

    Declaration
    public readonly int DriversCount { get; }
    Property Value
    Type Description
    Int32

    FirstDriver

    The first driver id present in the store. Can be used to iterate over all registered drivers in a for loop.

    Declaration
    public readonly int FirstDriver { get; }
    Property Value
    Type Description
    Int32
    Examples
        for(int i= driverStore.FirstDriver; i < driverStore.LastDriver; ++i)
        {
             ref var instance = ref driverStore.GetDriverInstance(i);
             ....
        }

    IsAnyUsingSimulator

    Return true if the driver store contains a driver that has a simulator pipeline.

    Declaration
    public readonly bool IsAnyUsingSimulator { get; }
    Property Value
    Type Description
    Boolean

    LastDriver

    The last driver id present in the store. Can be used to iterate over all registered drivers in a for loop.

    Declaration
    public readonly int LastDriver { get; }
    Property Value
    Type Description
    Int32
    Examples
        for(int i= driverStore.FirstDriver; i < driverStore.LastDriver; ++i)
        {
             ref var instance = ref driverStore.GetDriverInstance(i).
             ....
        }

    Methods

    Disconnect(NetworkStreamConnection)

    Utility method to disconnect the NetworkStreamConnection connection.

    Declaration
    public void Disconnect(NetworkStreamConnection connection)
    Parameters
    Type Name Description
    NetworkStreamConnection connection
    Exceptions
    Type Condition
    InvalidOperationException

    Dispose()

    Dispose all the registered drivers instances and their allocated resources.

    Declaration
    public void Dispose()

    ForEachDriver(NetworkDriverStore.DriverVisitor)

    Invoke the delegate on all registered drivers.

    Declaration
    public void ForEachDriver(NetworkDriverStore.DriverVisitor visitor)
    Parameters
    Type Name Description
    NetworkDriverStore.DriverVisitor visitor

    GetConnectionState(NetworkStreamConnection)

    Return the state of the NetworkStreamConnection connection.

    Declaration
    public NetworkConnection.State GetConnectionState(NetworkStreamConnection connection)
    Parameters
    Type Name Description
    NetworkStreamConnection connection

    A client or server connection

    Returns
    Type Description
    NetworkConnection.State
    Exceptions
    Type Condition
    InvalidOperationException

    Throw an exception if the driver associated to the connection is not found

    GetDriverInstance(Int32)

    Return the NetworkDriverStore.NetworkDriverInstance instance with the given driverId.

    Declaration
    public readonly NetworkDriverStore.NetworkDriverInstance GetDriverInstance(int driverId)
    Parameters
    Type Name Description
    Int32 driverId

    the id of the driver. Should be always greater or equals than FirstDriverId

    Returns
    Type Description
    NetworkDriverStore.NetworkDriverInstance

    The NetworkDriverStore.NetworkDriverInstance at for the given id.

    Remarks

    The method return a copy of the driver instance not a reference. While this is suitable for almost all the use cases, since the driver is trivially copyable, be aware that calling some of the Driver class methods, like ScheduleUpdate, that update internal driver data (that aren't suited to be copied around) may not work as expected.

    Exceptions
    Type Condition
    InvalidOperationException

    Throw an exception if a driver is not found

    GetDriverType(Int32)

    Return the transport type used by the registered driver.

    Declaration
    public TransportType GetDriverType(int driverId)
    Parameters
    Type Name Description
    Int32 driverId

    the id of the driver. Should be always greater or equals than FirstDriverId

    Returns
    Type Description
    TransportType

    The TransportType of driver

    Exceptions
    Type Condition
    InvalidOperationException

    Throw an exception if a driver is not found

    GetNetworkDriver(Int32)

    Return the NetworkDriver with the given driver id.

    Declaration
    public readonly NetworkDriver GetNetworkDriver(int driverId)
    Parameters
    Type Name Description
    Int32 driverId

    the id of the driver. Should be always greater or equals than FirstDriverId

    Returns
    Type Description
    NetworkDriver

    The NetworkDriverStore.NetworkDriverInstance at for the given id.

    Exceptions
    Type Condition
    InvalidOperationException

    Throw an exception if a driver is not found

    RegisterDriver(TransportType, in NetworkDriverStore.NetworkDriverInstance)

    Add a new driver to the store. Throw exception if all drivers slot are already occupied or the driver is not created/valid

    Declaration
    public int RegisterDriver(TransportType driverType, in NetworkDriverStore.NetworkDriverInstance driverInstance)
    Parameters
    Type Name Description
    TransportType driverType
    NetworkDriverStore.NetworkDriverInstance driverInstance
    Returns
    Type Description
    Int32

    The assigned driver id

    Exceptions
    Type Condition
    InvalidOperationException

    ScheduleFlushSendAllDrivers(JobHandle)

    Invoke ScheduleFlushSend(JobHandle) on all registered drivers in the store

    Declaration
    public JobHandle ScheduleFlushSendAllDrivers(JobHandle dependency)
    Parameters
    Type Name Description
    JobHandle dependency

    A job handle whom all flush jobs depend upon

    Returns
    Type Description
    JobHandle

    The combined handle of all the scheduled jobs.


    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Fields
      • Capacity
      • FirstDriverId
    • Properties
      • DriversCount
      • FirstDriver
      • IsAnyUsingSimulator
      • LastDriver
    • Methods
      • Disconnect(NetworkStreamConnection)
      • Dispose()
      • ForEachDriver(NetworkDriverStore.DriverVisitor)
      • GetConnectionState(NetworkStreamConnection)
      • GetDriverInstance(Int32)
      • GetDriverType(Int32)
      • GetNetworkDriver(Int32)
      • RegisterDriver(TransportType, in NetworkDriverStore.NetworkDriverInstance)
      • ScheduleFlushSendAllDrivers(JobHandle)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023