void FRawStaticIndexBuffer::Serialize(FArchive& Ar, bool bNeedsCPUAccess) { IndexStorage.SetAllowCPUAccess(bNeedsCPUAccess); if (Ar.UE4Ver() < VER_UE4_SUPPORT_32BIT_STATIC_MESH_INDICES) { TResourceArray<uint16,INDEXBUFFER_ALIGNMENT> LegacyIndices; b32Bit = false; LegacyIndices.BulkSerialize(Ar); int32 NumIndices = LegacyIndices.Num(); int32 IndexStride = sizeof(uint16); IndexStorage.Empty(NumIndices * IndexStride); IndexStorage.AddUninitialized(NumIndices * IndexStride); FMemory::Memcpy(IndexStorage.GetData(),LegacyIndices.GetData(),IndexStorage.Num()); } else { Ar << b32Bit; IndexStorage.BulkSerialize(Ar); } }