Large meshes won`t open anymore

I`ve been working in unreal with some photogrammetry models i created in Agisoft Metashape. These files were pretty huge, up to 80M triangles, but they used to work fine for me. They took some time to import and build nanite, and then worked pretty smooth.
Suddenly, some of these meshes crash the editor when loading them. I get the folowing crash report. Can someone help me??

Assertion failed: SerializeNum >= 0 [File:D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 3746]

UnrealEditor_MeshDescription!TArrayPrivateFriend::Serialize<FMeshElementContainer,TSizedInlineAllocator<1,32,TSizedDefaultAllocator<32> > >() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h:3746]
UnrealEditor_MeshDescription!operator<<<TSetElement<TTuple<FName,FMeshElementTypeWrapper> >,TSparseArrayAllocator<TSizedDefaultAllocator<32>,FDefaultBitArrayAllocator> >() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\SparseArray.h:1579]
UnrealEditor_MeshDescription!TSetPrivateFriend::Serialize<TTuple<FName,FMeshElementTypeWrapper>,TDefaultMapHashableKeyFuncs<FName,FMeshElementTypeWrapper,0>,FDefaultSetAllocator>() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Set.h:2246]
UnrealEditor_MeshDescription!FMeshDescription::Serialize() [D:\build++UE5\Sync\Engine\Source\Runtime\MeshDescription\Private\MeshDescription.cpp:196]
UnrealEditor_MeshDescription!FMeshDescriptionBulkData::LoadMeshDescription() [D:\build++UE5\Sync\Engine\Source\Runtime\MeshDescription\Private\MeshDescription.cpp:2203]
UnrealEditor_Engine!FStaticMeshSourceModel::LoadMeshDescription() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\StaticMeshSourceData.cpp:227]
UnrealEditor_Engine!FStaticMeshSourceModel::GetOrCacheMeshDescription() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\StaticMeshSourceData.cpp:267]
UnrealEditor_MeshBuilder!PrepareNaniteStaticMeshBuild() [D:\build++UE5\Sync\Engine\Source\Developer\MeshBuilder\Private\StaticMeshBuilder.cpp:152]
UnrealEditor_MeshBuilder!FStaticMeshBuilder::Build() [D:\build++UE5\Sync\Engine\Source\Developer\MeshBuilder\Private\StaticMeshBuilder.cpp:550]
UnrealEditor_MeshBuilder!FMeshBuilderModule::BuildMesh() [D:\build++UE5\Sync\Engine\Source\Developer\MeshBuilder\Private\MeshBuilderModule.cpp:50]
UnrealEditor_Engine!FStaticMeshRenderData::Cache() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\StaticMesh.cpp:3651]
UnrealEditor_Engine!UStaticMesh::CacheDerivedData() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\StaticMesh.cpp:6142]
UnrealEditor_Engine!UStaticMesh::ExecutePostLoadInternal() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\StaticMesh.cpp:6888]
UnrealEditor_Engine!FAsyncTask::DoTaskWork() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:624]
UnrealEditor_Engine!FAsyncTaskBase::DoWork() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:289]
UnrealEditor_Engine!FAsyncTaskBase::DoThreadedWork() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:313]
UnrealEditor_Core!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Misc\QueuedThreadPoolWrapper.h:142]
UnrealEditor_Engine!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Misc\QueuedThreadPoolWrapper.h:142]
UnrealEditor!LowLevelTasks::FTask::Init<FQueuedLowLevelThreadPool::AddQueuedWork’::2'::<lambda_1> >'::13’::<lambda_1>::operator()() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:499]
UnrealEditor!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __ptr64 __cdecl(bool),48>::TTaskDelegateImpl<LowLevelTasks::FTask::Init<FQueuedLowLevelThreadPool::AddQueuedWork’::2'::<lambda_1> >'::13’::<lambda_1>,0>::CallAndMove() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\TaskDelegate.h:171]
UnrealEditor_Core!LowLevelTasks::FTask::ExecuteTask() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:627]
UnrealEditor_Core!LowLevelTasks::FScheduler::ExecuteTask() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:267]
UnrealEditor_Core!LowLevelTasks::FScheduler::WorkerLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:514]
UnrealEditor_Core!LowLevelTasks::FScheduler::CreateWorker'::2’::<lambda_1>::operator()() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:75]
UnrealEditor_Core!FThreadImpl::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\HAL\Thread.cpp:69]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159]

1 Like

I’m seeing this as well. I have a model with 10.5M nanite triangles / 7.8M vertices which still opens, but larger models (ex. 49.3M tri, 28.5M vert; 67.8M tri, 40.4M vert) crash with the same error.

Running UE 5.4.4 on a GCP g2-standard-32 VM, Windows 10. I get the same SerializeNum >= assertion failed error in the crash report popup, but I also managed to copy the output log once before it crashed and saw a slightly different top line error, in case it helps:

LogOutputDevice: Error: Ensure condition failed: NewArrayNum >= 0 && std::numeric_limits::max() / (SizeType)ElementSize >= NewArrayNum [File:D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 1307]

Bump - still unable to load my existing meshes; also unable to re-import the (30 GB) mesh with any of the available Unreal 5 versions. Where it previously imported in around an hour, it now runs for 2+ hours before crashing with OOM errors (after using all 128 GB of RAM, plus 256 GB of page file).