public unsafe static void ReadBits <T>(this NetworkReader reader, ref T target) where T : unmanaged { var temp = target; var ptr = (Byte *)&temp; reader.ReadBytesToPtr(ptr, sizeof(T)); target = temp; }