When a Material uses the DefaultTextureCollection and a Material Instance overrides it - or vice versa - the Editor will crash.
Note: bindlessconfiguration=Minimal or higher must be enabled to use Virtual Texture Collections.
Example DefaultEhgine.ini
[PCD3D_SM6] BindlessResources=Enabled BindlessSamplers=Enabled ; The lines below fix 5.7 bindless in materials [ShaderPlatformConfig PCD3D_SM6] bindlessconfiguration=Minimal ;end fix [/Script/Engine.RendererSettings] rhi.Bindless.Resources=Enabled rhi.Bindless.Samplers=Enabled rhi.Bindless=Enabled
Expected
Editor doesn't crash and assigned TextureCollection is used
Actual
Editor crashes because the DefaultTextureCollection is assumed to have a bindless resource. The reverse is also true, if the parent material uses a Virtual Texture Collection and the Material Instance overrides it with DefaultTextureCollection, a similar crash will occur.
> [Inline Frame] UnrealEditor-D3D12RHI.dll!UE::RHICore::GetBindlessResourceHandle(UE::RHICore::FUniformDataReader) Line 48 C++
UnrealEditor-D3D12RHI.dll!UE::RHICore::UpdateUniformBufferConstants(void * DestinationData, const void * SourceData, const FRHIUniformBufferLayout & Layout, bool bAllowBindless) Line 107 C++
UnrealEditor-D3D12RHI.dll!FD3D12DynamicRHI::RHICreateUniformBuffer::__l2::::operator()(FD3D12Device * Device, FD3D12UniformBuffer * FirstLinkedObject) Line 85 C++
UnrealEditor-D3D12RHI.dll!FD3D12LinkedAdapterObject::CreateLinkedObjects,`FD3D12Adapter::CreateLinkedObject>'::`2'::>(FRHIGPUMask GPUMask, const FD3D12Adapter::CreateLinkedObject::_l2:: & pfnGetCreationParameter, const FD3D12DynamicRHI::RHICreateUniformBuffer::_l2:: & pfnCreationCore) Line 207 C++
[Inline Frame] UnrealEditor-D3D12RHI.dll!FD3D12Adapter::CreateLinkedObject(FRHIGPUMask) Line 425 C++
UnrealEditor-D3D12RHI.dll!FD3D12DynamicRHI::RHICreateUniformBuffer(const void * Contents, const FRHIUniformBufferLayout * Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation) Line 36 C++
UnrealEditor-Engine.dll!RHICreateUniformBuffer(const void * Contents, const FRHIUniformBufferLayout * Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation) Line 1234 C++
UnrealEditor-Engine.dll!FMaterialRenderProxy::EvaluateUniformExpressions(FRHICommandListBase & RHICmdList, FUniformExpressionCache & OutUniformExpressionCache, const FMaterialRenderContext & Context, FUniformExpressionCacheAsyncUpdater * Updater) Line 569 C++
[Inline Frame] UnrealEditor-Engine.dll!FMaterialRenderProxy::UpdateDeferredCachedUniformExpressions::_l2:::[Image Removed])::_l8::::operator()(ERHIFeatureLevel::Type) Line 941 C++
[Inline Frame] UnrealEditor-Engine.dll!UMaterialInterface::IterateOverActiveFeatureLevels(FMaterialRenderProxy::UpdateDeferredCachedUniformExpressions::_l2:::[Image Removed])::_l8:[Image Removed] Line 1318 C++
UnrealEditor-Engine.dll!FMaterialRenderProxy::UpdateDeferredCachedUniformExpressions::__l2::::operator()() Line 933 C++
UnrealEditor-Engine.dll!FMaterialRenderProxy::UpdateDeferredCachedUniformExpressions(FRHICommandListBase & RHICmdList, UE::Tasks::Private::FTaskHandle * TaskIfAsync) Line 963 C++
UnrealEditor-Renderer.dll!FScene::Update(FRDGBuilder & GraphBuilder, const FScene::FUpdateParameters & Parameters) Line 5567 C++
UnrealEditor-Renderer.dll!FScene::UpdateAllPrimitiveSceneInfos(FRDGBuilder & GraphBuilder, EUpdateAllPrimitiveSceneInfosAsyncOps AsyncOps) Line 5455 C++
UnrealEditor-Engine.dll!FSceneInterface::UpdateAllPrimitiveSceneInfos(FRHICommandListImmediate & RHICmdList) Line 31 C++
UnrealEditor-Engine.dll!UpdateAllPrimitiveSceneInfosForScenes::__l5::::operator()(FRHICommandListImmediate & RHICmdList) Line 346 C++
UnrealEditor-RenderCore.dll!ExecuteCommand(FRHICommandList * RHICmdList, const TVariant,TUniqueFunction,TUniqueFunction> & Function, const FRenderCommandTag & Tag) Line 1540 C++
[Inline Frame] UnrealEditor-RenderCore.dll!FRenderThreadCommandPipe::ExecuteCommands::__l2::::operator()(TVariant,TUniqueFunction,TUniqueFunction> &&) Line 1937 C++
UnrealEditor-RenderCore.dll!UE::RenderCommandPipe::FCommandList::ConsumeCommands<`FRenderThreadCommandPipe::ExecuteCommands'::`2'::>(const FRenderThreadCommandPipe::ExecuteCommands::__l2:: & Lambda) Line 431 C++
[Inline Frame] UnrealEditor-RenderCore.dll!FRenderThreadCommandPipe::ExecuteCommands(UE::RenderCommandPipe::FCommandList &) Line 1935 C++
UnrealEditor-RenderCore.dll!FRenderThreadCommandPipe::EnqueueAndLaunch::__l5::::operator()() Line 1924 C++
[Inline Frame] UnrealEditor-RenderCore.dll!UE::Core::Private::Function::TFunctionRefBase,void __cdecl(void)>::operator()() Line 414 C++
[Inline Frame] UnrealEditor-RenderCore.dll!TFunctionGraphTaskImpl::DoTaskImpl(TUniqueFunction &) Line 1101 C++
[Inline Frame] UnrealEditor-RenderCore.dll!TFunctionGraphTaskImpl::DoTask(ENamedThreads::Type) Line 1094 C++
UnrealEditor-RenderCore.dll!TGraphTask>::ExecuteTask() Line 696 C++
UnrealEditor-Core.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() Line 518 C++
[Inline Frame] UnrealEditor-Core.dll!FBaseGraphTask::Execute(TArray> &) Line 495 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 791 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 680 C++
UnrealEditor-RenderCore.dll!RenderingThreadMain(FEvent * TaskGraphBoundSyncEvent) Line 260 C++
UnrealEditor-RenderCore.dll!FRenderingThread::Run() Line 420 C++
UnrealEditor-Core.dll!FRunnableThreadWin::Run() Line 159 C++
UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() Line 71 C++
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-390625 in the post.
| 0 |
| Component | UE - Rendering - Architecture |
|---|---|
| Affects Versions | 5.7, 5.8 |
| Created | Aug 6, 2026 |
|---|---|
| Updated | Aug 6, 2026 |