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
    • Rpc​Queue<TAction​Serializer, TAction​Request>

    Struct RpcQueue<TActionSerializer, TActionRequest>

    A helper struct that should be used schedule outgoing RPCs. The RpcQueue is used internally by the code-generated systems that consume the SendRpcCommandRequest requests, and allow you to serialize the rpc (that will be sent into the OutgoingRpcDataStreamBuffer for the outgoing connection).

    You can use the RpcQueue in your custom system by retrieving an instance for the given TActionRequest, TActionSerializer pair from the RpcCollection by calling the GetRpcQueue<TActionSerializer, TActionRequest>() method.

    The typename of the struct implementing the IRpcCommandSerializer<T> interface for the TActionRequest The typename of a struct implementing the IComponentData interface

    Inherited Members
    ValueType.Equals(Object)
    ValueType.GetHashCode()
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Namespace: Unity.NetCode
    Syntax
    public struct RpcQueue<TActionSerializer, TActionRequest>
        where TActionSerializer : struct, IRpcCommandSerializer<TActionRequest> where TActionRequest : struct, IComponentData
    Type Parameters
    Name Description
    TActionSerializer

    the struct type that implements the IRpcCommandSerializer interface.

    TActionRequest

    the rpc type

    Remarks

    If you intend to cache the retrieved queue (e.g. inside an OnCreate function in your system), you must ensure that your system is created after the RpcSystem by using the CreateAfterAttribute.

    Methods

    Schedule(DynamicBuffer<OutgoingRpcDataStreamBuffer>, ComponentLookup<GhostInstance>, TActionRequest)

    Schedules an rpc to be sent through the network, by serializing and appending a new rpc packet into the OutgoingRpcDataStreamBuffer, for the given connection.

    The binary rpc data has the following format:

    - PacketType: short or long based on the DynamicAssemblyList.

    - MsgLen: short, the length of the serialized data.

    - RpcData: the binary data generated by invoking the TActionSerializer serialize method.

    Declaration
    public void Schedule(DynamicBuffer<OutgoingRpcDataStreamBuffer> buffer, ComponentLookup<GhostInstance> ghostFromEntity, TActionRequest data)
    Parameters
    Type Name Description
    DynamicBuffer<OutgoingRpcDataStreamBuffer> buffer
    ComponentLookup<GhostInstance> ghostFromEntity
    TActionRequest data
    Exceptions
    Type Condition
    InvalidOperationException
    In This Article
    • Methods
      • Schedule(DynamicBuffer<OutgoingRpcDataStreamBuffer>, ComponentLookup<GhostInstance>, TActionRequest)
    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