{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} Struct NetworkTime | Netcode for Entities | 1.1.0-pre.3
docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct NetworkTime

    Present on both client and server world, singleton component that contains all the timing characterist of the client/server simulation loop.

    Implements
    IComponentData
    IQueryTypeParameter
    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetType()
    Namespace: Unity.NetCode
    Assembly: solution.dll
    Syntax
    public struct NetworkTime : IComponentData, IQueryTypeParameter

    Fields

    Name Description
    InterpolationTick

    The current interpolated tick (integral part). Always less then the ServerTick on the Client (and equals to ServerTick on the server).

    InterpolationTickFraction

    The fractional part of the tick (XXX.fraction). Always in between (0.0, 1.0]

    ServerTick

    The current simulated server tick the server will run this frame. Always start from 1. 0 is consider an invalid value. The ServerTick value behave differently on client and server. On the server:

    • it is always a "full" tick
    • strict monontone and continue (up to the wrap around)
    • the same inside or outside the prediction loop On the client:
    • it is the tick the client predict the server should simulate this frame. Depends on current lag and command slack
    • can be either a full or partial.
    • if the tick is partial, the client would run the simulation for it multiple time, each time with a different delta time proportion
    • it is not monotone:
      • in some rare/recovery situation may rollback or having jump forward (due to time/lag adjustments).
      • during the prediction loop the ServerTick value is changed to match either the last full simulated tick or , in case of a rollback because a snapshot has been received, to the oldest received tick among all entities. In both case, and the end of of the prediction loop the server tick will be reset to current predicted server tick.
    ServerTickFraction

    Only meaningful on the client that run at variable step rate. On the server is always 1.0. Always in range is (0.0 and 1.0].

    SimulationStepBatchSize

    The number of simulation steps this tick is scaled with. This is used to make one update which covers N ticks in order to reduce CPU cost. This is always 1 for partial ticks in the prediction loop, but can be more than 1 for partial ticks outside the prediction loop.

    Properties

    Name Description
    IsCatchUpTick

    Only valid on server. True when the current simulated tick is running with a variabled delta time to recover from a previous long running frame.

    IsFinalFullPredictionTick

    Only valid inside the prediction loop. The current server tick which will be the last full tick we are predicting

    IsFinalPredictionTick

    Only valid inside the prediction loop. The current server tick which will be the last tick to predict

    IsFirstPredictionTick

    Only valid inside the prediction loop. The server tick the prediction is starting from.

    IsFirstTimeFullyPredictingTick

    Only valid inside the prediction loop. True when this ServerTick is being predicted in full for the first time. "In full" meaning the first non-partial simulation tick. I.e. Partial ticks don't count.

    IsInPredictionLoop

    Indicate that the current server tick is a predicted one and the simulation is running inside the prediction group.

    IsPartialTick

    True if the current tick is running with delta time that is a fraction of the ServerTickDeltaTime. Only true on the client when running at variable frame rate.

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