In 5.8, UPrimitiveComponent::OnUnregister resets FPSOPrecacheComponentData, which clears bPSOPrecacheCalled (regression from CL 48140040). ULandscapeComponent and UGroomComponent only call PrecachePSOs() in PostLoad. When either component re-registers without a new PostLoad, its scene proxy is recreated with no precache data and fires ensure(!IsComponentPSOPrecachingEnabled() || bPSOPrecacheCalled) in FPSOPrecacheComponentData::CheckPSOPrecachingAndBoostPriority (PSOPrecache.cpp:296). Examples of such a re-register:
It only happens in cooked/game builds, because component PSO precaching is disabled in the editor.
Fix: cherry-pick CL 55798320 (//UE6/Main) to //UE5/Dev-Release-5.8. It adds a guarded PrecachePSOs() at the end of both components' OnRegister, skipped when IsPSOPrecacheCalled() is still set. Pending CL 59512334 in Dev-Release-5.8.
Validation: cooked Development Win64 builds from Dev-Release-5.8.
Not covered: UGeometryCollectionComponent has the same gap (it precaches in PostLoad only).
Alternative: run the EngineTest functional test DebugViewModes.BufferCustomStencil on Vulkan.
Ensure condition failed: !IsComponentPSOPrecachingEnabled() || bPSOPrecacheCalled [File:Engine\Source\Runtime\Engine\Private\PSOPrecache.cpp] [Line: 296] FPSOPrecacheComponentData::CheckPSOPrecachingAndBoostPriority() [PSOPrecache.cpp:296] ULandscapeComponent::CreateSceneProxy() [Landscape.cpp:2270] FActorPrimitiveComponentInterface::CreateSceneProxy() [ActorPrimitiveComponentInterface.cpp:146] FScene::BatchAddPrimitivesInternal<UPrimitiveComponent>() [RendererScene.cpp:1455] FScene::AddPrimitive() [RendererScene.cpp:1349] FRegisterComponentContext::Process() [ActorComponent.cpp:250] FRegisterComponentContext::OnIncrementalRegisterComponentsDone() [ActorComponent.cpp:205] ULevel::IncrementalRegisterComponents() [Level.cpp:2046] ULevel::IncrementalUpdateComponents() [Level.cpp:1906] UWorld::AddToWorld() [World.cpp:3887] ULevelStreaming::UpdateStreamingState() [LevelStreaming.cpp:1096] UWorld::UpdateLevelStreaming() [World.cpp:5138]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-404796 in the post.
| 0 |
| Component | UE - Rendering - RHI |
|---|---|
| Affects Versions | 5.8 |
| Target Fix | 5.8.5 |
| Created | Oct 21, 2026 |
|---|---|
| Updated | Oct 21, 2026 |