docs.unity3d.com
    Show / Hide Table of Contents

    Struct ClientServerTickRate

    Namespace: Unity.NetCode
    Syntax
    public struct ClientServerTickRate : IComponentData

    Fields

    MaxSimulationLongStepTimeMultiplier

    If the server cannot keep up with the simulation frequency with running MaxSimulationStepsPerFrame ticks it is possible to allow each tick to run with a longer delta time in order to keep the game time updating correctly. This means that instead of running two ticks with delta time N each, the system will run a single tick with delta time 2*N. It is a less expensive but more inacurate way of dealing with server performance spikes, it also requires the game logic to be able to handle it.

    Declaration
    public int MaxSimulationLongStepTimeMultiplier
    Field Value
    Type Description
    Int32

    MaxSimulationStepsPerFrame

    If the server updates at a lower rate than the simulation tick rate it will perform multiple ticks in the same frame. This setting puts a limit on how many such updates it can do in a single frame. When this limit is reached the simulation time will update slower than real time. The network tick rate only applies to snapshots, the frequency commands and RPCs is not affected by this setting.

    Declaration
    public int MaxSimulationStepsPerFrame
    Field Value
    Type Description
    Int32

    NetworkTickRate

    The rate at which the server sends snapshots to the clients. This can be lower than than the simulation frequency which means the server only sends new snapshots to the clients every N frames. The effect of this on the client is similar to having a higher ping, on the server it will save CPU time and bandwidth.

    Declaration
    public int NetworkTickRate
    Field Value
    Type Description
    Int32

    SendSnapshotsForCatchUpTicks

    If the server has to run multiple simulation ticks in the same frame the server can either send snapshots for all those ticks or just the last one.

    Declaration
    public bool SendSnapshotsForCatchUpTicks
    Field Value
    Type Description
    Boolean

    SimulationTickRate

    The fixed simulation frequency on the server and prediction loop. The client can render at a higher or lower rate than this.

    Declaration
    public int SimulationTickRate
    Field Value
    Type Description
    Int32

    TargetFrameRateMode

    If the server is capable of updating more often than the simulation tick rate it can either skip the simulation tick for some updates (BusyWait) or limit the updates using Application.TargetFrameRate (Sleep). Auto makes it use Sleep for dedicated server builds and BusyWait for client and server builds (as well as the editor).

    Declaration
    public ClientServerTickRate.FrameRateMode TargetFrameRateMode
    Field Value
    Type Description
    ClientServerTickRate.FrameRateMode

    Methods

    ResolveDefaults()

    Declaration
    public void ResolveDefaults()
    Back to top
    Terms of use
    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