// serialization is needed by OnSerialize and by manual sending from authority
 // public only for tests
 public static void SerializeIntoWriter(NetworkWriter writer, Vector3 position, Quaternion rotation, Vector3 scale)
 {
     // serialize position, rotation, scale
     // => compress rotation from 4*4=16 to 4 bytes
     // => less bandwidth = better CCU tests / scale
     writer.WriteVector3(position);
     writer.WriteUInt32(Compression.CompressQuaternion(rotation));
     writer.WriteVector3(scale);
 }
 // serialization is needed by OnSerialize and by manual sending from authority
 // public only for tests
 public static void SerializeIntoWriter(NetworkWriter writer, Vector3 position, Quaternion rotation, Vector3 scale, bool compressRotation)
 {
     // serialize position, rotation, scale
     // => compress rotation from 4*4=16 to 4 bytes
     // => less bandwidth = better CCU tests / scale
     writer.WriteVector3(position);
     if (compressRotation)
     {
         // smalles three compression for 3D
         writer.WriteUInt32(Compression.CompressQuaternion(rotation));
     }
     else
     {
         // uncompressed for 2D
         writer.WriteQuaternion(rotation);
     }
     writer.WriteVector3(scale);
 }