Symptom
An intermittent ensureMsgf fires in the editor when a level contains a UGeometryCacheComponent: Array has changed during ranged-for iteration! (TArray ranged-for iterator check, Array.h). The callstack is on the game thread, inside FGeometryCacheSceneProxy::CreateHitProxies, iterating Track->MeshData->BatchesInfo.
Root cause
}}.
Proposed fix
Don't hand the proxy to the render thread from the constructor. Move the initial FrameUpdate enqueue into an override of FPrimitiveSceneProxy::CreateRenderThreadResources. That runs inside the scene's add-primitive command, after FPrimitiveSceneInfo and its hit proxies exist.
Expected
No Ensure fires
Actual
An Ensure sometimes fires due to a data race
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-402663 in the post.
| 0 |
| Component | UE - Rendering - Architecture |
|---|---|
| Affects Versions | 5.6, 5.7, 5.8 |
| Created | Oct 13, 2026 |
|---|---|
| Resolved | Oct 16, 2026 |
| Updated | Oct 19, 2026 |