docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface IGhostSerializer

    Interface that expose a raw, unsafe interface to copy all the component ghost fields to the snapshot buffer. It is mostly for internal use by code-gen and should not be used direcly nor implemented by user code.

    Namespace: Unity.NetCode
    Assembly: Unity.NetCode.dll
    Syntax
    public interface IGhostSerializer

    Properties

    ChangeMaskSizeInBits

    The number of bits necessary for change mask

    Declaration
    int ChangeMaskSizeInBits { get; }
    Property Value
    Type Description
    int

    HasGhostFields

    True if the serialized component has some serialized fields.

    Declaration
    bool HasGhostFields { get; }
    Property Value
    Type Description
    bool

    SizeInSnapshot

    The size of the serialized data in the snapshot buffer.

    Declaration
    int SizeInSnapshot { get; }
    Property Value
    Type Description
    int

    Methods

    CalculateChangeMask(IntPtr, IntPtr, IntPtr, int)

    Compute the change mask for the snapshot in respect to the given baseline

    Declaration
    void CalculateChangeMask(IntPtr snapshot, IntPtr baseline, IntPtr changeMaskData, int startOffset)
    Parameters
    Type Name Description
    IntPtr snapshot

    Snapshot pointer

    IntPtr baseline

    Snapshot baseline

    IntPtr changeMaskData

    Change mask data

    int startOffset

    Start offset

    CopyFromSnapshot(in GhostDeserializerState, IntPtr, float, float, IntPtr, IntPtr)

    Copy/Convert the snapshot to component. Perform interpolation if necessary.

    Declaration
    void CopyFromSnapshot(in GhostDeserializerState serializerState, IntPtr component, float snapshotInterpolationFactor, float snapshotInterpolationFactorRaw, IntPtr snapshotBefore, IntPtr snapshotAfter)
    Parameters
    Type Name Description
    GhostDeserializerState serializerState

    Serializer state

    IntPtr component

    Component

    float snapshotInterpolationFactor

    Interpolation factor

    float snapshotInterpolationFactorRaw

    Interpolation factor

    IntPtr snapshotBefore

    Snapshot before

    IntPtr snapshotAfter

    Snapshot after

    CopyToSnapshot(in GhostSerializerState, IntPtr, IntPtr)

    Copy/Convert the component data to the snapshot.

    Declaration
    void CopyToSnapshot(in GhostSerializerState serializerState, IntPtr snapshot, IntPtr component)
    Parameters
    Type Name Description
    GhostSerializerState serializerState

    Serializer state

    IntPtr snapshot

    Snapshot pointer

    IntPtr component

    Component

    Deserialize(ref DataStreamReader, in StreamCompressionModel, IntPtr, int, IntPtr, IntPtr)

    Read the data from the reader stream into the snapshot data.

    Declaration
    void Deserialize(ref DataStreamReader reader, in StreamCompressionModel compressionModel, IntPtr changeMask, int startOffset, IntPtr snapshot, IntPtr baseline)
    Parameters
    Type Name Description
    DataStreamReader reader

    Data stream reader

    StreamCompressionModel compressionModel

    compression model

    IntPtr changeMask

    change mask

    int startOffset

    start offset

    IntPtr snapshot

    Snapshot pointer

    IntPtr baseline

    Snapshot baseline

    PredictDelta(IntPtr, IntPtr, IntPtr, ref GhostDeltaPredictor)

    Calculate the predicted snapshot from the two baseline

    Declaration
    void PredictDelta(IntPtr snapshotData, IntPtr baseline1Data, IntPtr baseline2Data, ref GhostDeltaPredictor predictor)
    Parameters
    Type Name Description
    IntPtr snapshotData

    Predicted snapshot data

    IntPtr baseline1Data

    Snapshot baseline

    IntPtr baseline2Data

    Snapshot baseline

    GhostDeltaPredictor predictor

    Delta predictor

    ReportPredictionErrors(IntPtr, IntPtr, IntPtr, int)

    Calculate the prediction error for this component.

    Declaration
    void ReportPredictionErrors(IntPtr component, IntPtr backup, IntPtr errorsList, int errorsCount)
    Parameters
    Type Name Description
    IntPtr component

    Component

    IntPtr backup

    Backup buffer

    IntPtr errorsList

    Error list pointer

    int errorsCount

    Number of errors

    RestoreFromBackup(IntPtr, IntPtr)

    Restore the component data from the prediction backup buffer. Only serialised fields are restored.

    Declaration
    void RestoreFromBackup(IntPtr component, IntPtr backup)
    Parameters
    Type Name Description
    IntPtr component

    Component

    IntPtr backup

    Backup buffer

    Serialize(IntPtr, IntPtr, IntPtr, int, ref DataStreamWriter, in StreamCompressionModel)

    Serialise the snapshot data to the writer based on the calculated changemask. Expect the changemask bits be all already set.

    Declaration
    void Serialize(IntPtr snapshot, IntPtr baseline, IntPtr changeMaskData, int startOffset, ref DataStreamWriter writer, in StreamCompressionModel compressionModel)
    Parameters
    Type Name Description
    IntPtr snapshot

    Snapshot pointer

    IntPtr baseline

    Snapshot baseline

    IntPtr changeMaskData

    Change mask data

    int startOffset

    start offset

    DataStreamWriter writer

    data stream writer

    StreamCompressionModel compressionModel

    Compression model

    SerializeCombined(IntPtr, IntPtr, IntPtr, int, ref DataStreamWriter, in StreamCompressionModel)

    Serialise the snapshot data to the writer and calculate the current changemask.

    Declaration
    void SerializeCombined(IntPtr snapshot, IntPtr baseline, IntPtr changeMaskData, int startOffset, ref DataStreamWriter writer, in StreamCompressionModel compressionModel)
    Parameters
    Type Name Description
    IntPtr snapshot

    Snapshot pointer

    IntPtr baseline

    Snapshot baseline

    IntPtr changeMaskData

    Change mask data

    int startOffset

    Start offset

    DataStreamWriter writer

    Datastream writer

    StreamCompressionModel compressionModel

    Compression model

    SerializeWithPredictedBaseline(IntPtr, IntPtr, IntPtr, IntPtr, ref GhostDeltaPredictor, IntPtr, int, ref DataStreamWriter, in StreamCompressionModel)

    Serialise the snapshot dato to the writer and calculate the current changemask.

    Declaration
    void SerializeWithPredictedBaseline(IntPtr snapshot, IntPtr baseline0, IntPtr baseline1, IntPtr baseline2, ref GhostDeltaPredictor predictor, IntPtr changeMaskData, int startOffset, ref DataStreamWriter writer, in StreamCompressionModel compressionModel)
    Parameters
    Type Name Description
    IntPtr snapshot

    Snapshot pointer

    IntPtr baseline0

    Snapshot baseline

    IntPtr baseline1

    Snapshot baseline

    IntPtr baseline2

    Snapshot baseline

    GhostDeltaPredictor predictor

    Delta predicot

    IntPtr changeMaskData

    Change mask data

    int startOffset

    Start offset

    DataStreamWriter writer

    Datastream writer

    StreamCompressionModel compressionModel

    Compression model

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