docs.unity3d.com
    Show / Hide Table of Contents

    Enum GhostSendType

    An optimization: Set on each GhostComponent via the GhostComponentAttribute (or via a variant).

    When a Ghost is OwnerPredicted, OR its SupportedGhostModes is known at compile time, this flag will filter which types of clients will receive data updates.

    Maps to the GhostMode of each Ghost.

    Note that this optimization is not available to Ghosts that can have their GhostMode modified at runtime!

    Namespace: Unity.NetCode
    Syntax
    [Flags]
    public enum GhostSendType
    Remarks

    GhostSendType works for OwnerPredicted ghosts because:

    - The server can infer what GhostMode any given client will have an OwnerPredicted ghost in. It's as simple as: If Owner, then Predicting, otherwise Interpolating.

    - The server cannot infer what GhostMode a ghost supporting both Predicted and Interpolated can be in, as this can change at runtime (see GhostPredictionSwitchingQueues. Thus, the server snapshot serialization strategy must be identical for both.

    GhostSendType also works for Ghosts not using All because:

    - The server can infer what GhostMode any given client will have its ghost in, as it cannot change at runtime.

    Applies to all components (parents and children).

    Examples

    A velocity component may only be required on a client if the ghost is being predicted (to predict velocity and collisions correctly). Thus, use GhostSendType.Predicted on the Velocity component.

    Fields

    Name Description Value
    DontSend

    The server will never replicate this component to any clients. Works similarly to DontSerializeVariant (and thus, redundant, if the DontSerializeVariant is in use).


    0
    OnlyInterpolatedClients

    The server will only replicate this component to clients which are interpolating this Ghost. Interpolated).


    1
    OnlyPredictedClients

    The server will only replicate this component to clients which are predicted this Ghost. Predicted).


    2
    AllClients

    The server will always replicate this component. Default.


    3
    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