public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        if (stream.IsWriting)
        {
            BodySync.WriteStreamData().WriteToStream(stream);
            HMDSync.WriteStreamData().WriteToStream(stream);
            LeftHandSync.WriteStreamData().WriteToStream(stream);
            RightHandSync.WriteStreamData().WriteToStream(stream);
        }
        else
        {
            float lag = Mathf.Abs((float)(PhotonNetwork.Time - info.SentServerTime));

            var streamData = new TransformStreamData();

            streamData.ReadFromStream(stream);
            BodySync.ReadStreamData(streamData, lag);

            streamData.ReadFromStream(stream);
            HMDSync.ReadStreamData(streamData, lag);

            streamData.ReadFromStream(stream);
            LeftHandSync.ReadStreamData(streamData, lag);

            streamData.ReadFromStream(stream);
            RightHandSync.ReadStreamData(streamData, lag);
        }
    }