I’ve encountered a problem when enabling DX12 and hardware ray tracing. In a Shipping build, the project crashes on startup with the following error (but only on some machines, even with similar hardware configurations):
D3D12 ERROR: ID3D12Device::CreateStateObject: Resource bindings for function "RayGen_56888ca624d69fc5" not compatible with associated root signatures (if any): local root signature object: 0x00000181432A6E60:'Unnamed ID3D12RootSignature Object', global root signature object: 0x00000181656E0E20:'Unnamed ID3D12RootSignature Object'. Error detail: Shader CBV descriptor range (BaseShaderRegister=1, NumDescriptors=1, RegisterSpace=4) is not fully bound in a root signature. If the intent is this will be resolved later when this state object is combined with other state object(s), use a D3D12_STATE_OBJECT_CONFIG subobject with D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS set in Flags. [ STATE_CREATION ERROR #1194: CREATE_STATE_OBJECT_ERROR]
D3D12: **BREAK** enabled for the previous message, which was: [ ERROR STATE_CREATION #1194: CREATE_STATE_OBJECT_ERROR ]
Interestingly, as long as I don’t click OK on the error message box, the application appears to work fine.
Does anyone have ideas on what might be causing this issue?
Is there a workaround for this without modifying Unreal Engine source files?
Hi! This is a known issue and will be addressed in 5.5.1.
In the meantime you can delete %localappdata%\<ProjectName>\Saved\<ProjectName>_PCD3D_SM6.upipelinecache and run with r.ShaderPipelineCache.SaveUserCache=0 which should prevent it from happening again (note that this cvar override should removed once 5.5.1 is released).
Hi, where to put the r.ShaderPipelineCache.SaveUserCache=0? Have tried to add it in project’s defaultengine.ini and defaultgame.ini, also have it in game used in BP. But pipelinecache is still created after each shipping build play session.
Hi! I have updated to version 5.5.1, but the issue still persists. I have to manually delete the _PCD3D_SM6.upipelinecache file each time before I can run it.
Seem to stuck to black screen now instead of crashing. The empty readonly upipelinecache file work nicely, but require quite messy trick from game testers.
I imagine that a problem that prevents the final product of your users to work should be a priority issue… or not? and how disgusting is the habit these days of companies to first say that we should not worry, that everything will be fixed in the next version, and as soon as it is not fixed, we only hear silence from them… most likely because of this type of mentality is the reason why the video game industry is in crisis.
As there are a few major bugs, like this one, do you think (I understand you can’t give a date, but your personal opinion, if you can) 5.5.2 will be more or less urgent, maybe arriving before the end of the year? Or totally impossible? (any opinion or very rude approximation would be great, anyway) Just to keep the hope, or find an alternative and change our dev strategy (we are close to release and our project is already ready into UE5.5, just waiting to package or deciding to release based on 5.3).
Any info on where this file can be found? I can certainly wait for 5.5.2 before I publich but I would like to be able to test my built game ASAP. If this workaround can help me do that then great… so… the location of that file…? Anyone?