Description

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
Steps to Reproduce
  1. Create a Material that samples a TextureCollection and make the TextureCollection a parameter set by default to DefaultTextureCollection
  2. Create a Material Instance and override the TextureCollection parameter with a Virtual Texture Collection

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.

Callstack

> [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++

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-390625 in the post.

0
Login to Vote

Unresolved
ComponentUE - Rendering - Architecture
Affects Versions5.75.8
CreatedAug 6, 2026
UpdatedAug 6, 2026
View Jira Issue