Consistent editor freezes in ShowWindow / D3D11CreateDevice

I’m trying to do the official C++ tutorials (currently on Implementing your Character in Unreal Engine | Unreal Engine 5.3 Documentation), but I keep getting freezes. The first couple times were on saving after creating a blueprint class, and I was able to kill UnrealEditor, retry, and have it work on the second try, but now I’ve got to a point where it’s freezing consistently, when trying to import the sample first person model HeroFPP.FBX. If I use this workaround I can do the import without freezing, but then it freezes on the immediate next step, saving.

Similar to this UE4 question but uninstalling Nahimic didn’t fix it for me (and also I’m on UE 5.3)

The call stack of the freeze during the FBX import is as follows:

ntdll.dll!NtWaitForAlertByThreadId()	Unknown
ntdll.dll!RtlpWaitOnCriticalSection()	Unknown
ntdll.dll!RtlpEnterCriticalSectionContended()	Unknown
ntdll.dll!RtlEnterCriticalSection()	Unknown
dxgi.dll!CDXGIAdapter::GetDesc3()	Unknown
d3d11.dll!NDXGI::CUMDAdapter::GetFenceSupport()	Unknown
d3d11.dll!CDevice::LLOCompleteLayerConstruction(void)	Unknown
d3d11.dll!NDXGI::CDevice::LLOCompleteLayerConstruction()	Unknown
d3d11.dll!NOutermost::CDevice::LLOCompleteLayerConstruction(void)	Unknown
d3d11.dll!TComObject<NOutermost::CDevice>::TComObject<NOutermost::CDevice>()	Unknown
d3d11.dll!D3D11CreateLayeredDevice()	Unknown
d3d11.dll!D3D11CoreCreateLayeredDevice()	Unknown
d3d11.dll!D3D11RegisterLayersAndCreateDevice()	Unknown
d3d11.dll!D3D11CoreCreateDevice()	Unknown
d3d11.dll!D3D11CreateDeviceAndSwapChainImpl()	Unknown
d3d11.dll!D3D11CreateDeviceAndSwapChain()	Unknown
d3d11.dll!D3D11CreateDeviceImpl(struct IDXGIAdapter *,enum D3D_DRIVER_TYPE,struct HINSTANCE__ *,unsigned int,enum D3D_FEATURE_LEVEL const *,unsigned int,unsigned int,struct ID3D11Device * *,enum D3D_FEATURE_LEVEL *,struct ID3D11DeviceContext * *)	Unknown
d3d11.dll!D3D11CreateDevice()	Unknown
dxgi.dll!CD3D12Device::EnsureChildDevice(struct IDXGIAdapter *,enum DXGI_INTERNAL_CHILD_DEVICE_TYPE)	Unknown
dxgi.dll!CDXGISwapChain::EnsureChildDeviceInternal(struct IDXGIAdapter *,enum DXGI_INTERNAL_CHILD_DEVICE_TYPE)	Unknown
dxgi.dll!CDXGISwapChain::SetHybridCrossAdapterFlip(bool,struct _LUID const &)	Unknown
dxgi.dll!CDXGISwapChain::InitDirectFlip()	Unknown
dxgi.dll!CDXGISwapChain::InitializeSwapChainState(struct CDXGISwapChain::TConstructorArgs const &)	Unknown
dxgi.dll!CDXGISwapChainApplicationClass::FinalConstruct(struct CDXGISwapChain::TConstructorArgs const &)	Unknown
dxgi.dll!CMTUseCountedObject<CDXGISwapChainApplicationClass>::CMTUseCountedObject<CDXGISwapChainApplicationClass>()	Unknown
dxgi.dll!CMTUseCountedObject<CDXGISwapChainApplicationClass>::CreateInstance()	Unknown
dxgi.dll!CDXGIFactory::CreateSwapChainImpl()	Unknown
dxgi.dll!CDXGIFactory::CreateSwapChainForHwndImpl(struct IUnknown *,struct DXGI_SWAP_CHAIN_DESC_INTERNAL *,bool,struct IDXGIOutput *,struct IDXGISwapChain1 * *)	Unknown
dxgi.dll!CDXGIFactory::CreateSwapChain(struct IUnknown *,struct DXGI_SWAP_CHAIN_DESC *,struct IDXGISwapChain * *)	Unknown
UnrealEditor-D3D12RHI.dll!FD3D12Viewport::Init() Line 182	C++
UnrealEditor-D3D12RHI.dll!FD3D12DynamicRHI::RHICreateViewport(void * WindowHandle, unsigned int SizeX, unsigned int SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat) Line 808	C++
[Inline Frame] UnrealEditor-SlateRHIRenderer.dll!RHICreateViewport(void * WindowHandle, unsigned int SizeX, unsigned int SizeY, bool PreferredPixelFormat, EPixelFormat) Line 1373	C++
UnrealEditor-SlateRHIRenderer.dll!FSlateRHIRenderer::CreateViewport(const TSharedRef<SWindow,1> Window) Line 417	C++
UnrealEditor-SlateCore.dll!SWindow::ShowWindow() Line 1411	C++
UnrealEditor-Slate.dll!FSlateApplication::AddWindowAsNativeChild(TSharedRef<SWindow,1> InSlateWindow, TSharedRef<SWindow,1> InParentWindow, const bool bShowImmediately) Line 2173	C++
UnrealEditor-Slate.dll!FTabManager::RestoreArea_Helper(const TSharedRef<FTabManager::FLayoutNode,1> & LayoutNode, const TSharedPtr<SWindow,1> & ParentWindow, const bool bEmbedTitleAreaContent, FSidebarTabLists & OutSidebarTabs, const EOutputCanBeNullptr OutputCanBeNullptr) Line 1782	C++
UnrealEditor-Slate.dll!FTabManager::RestoreArea(const TSharedRef<FTabManager::FArea,1> & AreaToRestore, const TSharedPtr<SWindow,1> & InParentWindow, const bool bEmbedTitleAreaContent, const EOutputCanBeNullptr OutputCanBeNullptr) Line 1615	C++
UnrealEditor-Slate.dll!FTabManager::InvokeTab_Internal(const FTabId & TabId, bool bInvokeAsInactive) Line 1475	C++
UnrealEditor-Slate.dll!FTabManager::TryInvokeTab(const FTabId & TabId, bool bInvokeAsInactive) Line 1368	C++
UnrealEditor-MessageLog.dll!FMessageLogModule::OpenMessageLog(const FName & LogName) Line 127	C++
UnrealEditor-UnrealEd.dll!UnFbx::FFbxLogger::~FFbxLogger() Line 4872	C++
[Inline Frame] UnrealEditor-UnrealEd.dll!UnFbx::FFbxLoggerSetter::{dtor}() Line 1920	C++
UnrealEditor-UnrealEd.dll!UFbxFactory::FactoryCreateFile(UClass * Class, UObject * InParent, FName Name, EObjectFlags Flags, const FString & InFilename, const wchar_t * Parms, FFeedbackContext * Warn, bool & bOutOperationCanceled) Line 884	C++
UnrealEditor-UnrealEd.dll!UFactory::ImportObject(UClass * InClass, UObject * InOuter, FName InName, EObjectFlags InFlags, const FString & Filename, const wchar_t * Parms, bool & OutCanceled) Line 206	C++
UnrealEditor-AssetTools.dll!UAssetToolsImpl::ImportAssetsInternal(const TArray<FString,TSizedDefaultAllocator<32>> & Files, const FString & RootDestinationPath, TArray<TTuple<FString,FString>,TSizedDefaultAllocator<32>> * FilesAndDestinationsPtr, const FAssetImportParams & Params) Line 3739	C++
UnrealEditor-AssetTools.dll!UAssetToolsImpl::ImportAssets(const TArray<FString,TSizedDefaultAllocator<32>> & Files, const FString & DestinationPath, UFactory * ChosenFactory, bool bSyncToBrowser, TArray<TTuple<FString,FString>,TSizedDefaultAllocator<32>> * FilesAndDestinations, bool bAllowAsyncImport, bool bSceneImport) Line 2636	C++
UnrealEditor-AssetTools.dll!UAssetToolsImpl::ImportAssetsWithDialogImplementation(const FString & DestinationPath, bool bAllowAsyncImport) Line 5933	C++
UnrealEditor-AssetTools.dll!UAssetToolsImpl::ImportAssetsWithDialogAsync(const FString & DestinationPath) Line 2465	C++
UnrealEditor-ContentBrowserAssetDataSource.dll!UContentBrowserAssetDataSource::OnImportAsset(const FName InPath) Line 3200	C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!Invoke(void(UContentBrowserAssetDataSource::*)(FName)) Line 66	C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(UContentBrowserAssetDataSource::*)(FName) &) Line 311	C++
UnrealEditor-ContentBrowserAssetDataSource.dll!TBaseUObjectMethodDelegateInstance<0,UContentBrowserAssetDataSource,void __cdecl(FName),FDefaultDelegateUserPolicy>::ExecuteIfSafe(FName <Params_0>) Line 667	C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>::ExecuteIfBound(FName) Line 570	C++
UnrealEditor-ContentBrowserAssetDataSource.dll!FNewAssetContextMenu::ExecuteImportAsset(TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy> InOnInportAssetRequested, FName InPath) Line 442	C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!Invoke(void(*)(TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>, FName) &) Line 47	C++
UnrealEditor-ContentBrowserAssetDataSource.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int,0,1>,TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>,FName>::ApplyAfter<void (__cdecl*const &)(TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>,FName)>(void(*)(TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>, FName) & Func) Line 311	C++
UnrealEditor-ContentBrowserAssetDataSource.dll!TBaseStaticDelegateInstance<void __cdecl(void),FDefaultDelegateUserPolicy,TDelegate<void __cdecl(FName),FDefaultDelegateUserPolicy>,FName>::ExecuteIfSafe() Line 777	C++
UnrealEditor-Slate.dll!TDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>() Line 570	C++
[Inline Frame] UnrealEditor-Slate.dll!FUIAction::Execute() Line 139	C++
UnrealEditor-Slate.dll!SMenuEntryBlock::OnClicked(bool bCheckBoxClicked) Line 1167	C++
UnrealEditor-Slate.dll!SMenuEntryBlock::OnMenuItemButtonClicked() Line 1118	C++
[Inline Frame] UnrealEditor-Slate.dll!Invoke(FReply(SMenuEntryBlock::*)()) Line 66	C++
[Inline Frame] UnrealEditor-Slate.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(FReply(SMenuEntryBlock::*)() &) Line 311	C++
UnrealEditor-Slate.dll!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,1,FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 281	C++
UnrealEditor-Slate.dll!TDelegate<FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 549	C++
UnrealEditor-Slate.dll!SButton::ExecuteOnClick() Line 465	C++
UnrealEditor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 390	C++
UnrealEditor-Slate.dll!SMenuEntryButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 434	C++
[Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent::__l8::<lambda_3>::operator()(const FArrangedWidget &) Line 5220	C++
UnrealEditor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,`FSlateApplication::RoutePointerUpEvent'::`8'::<lambda_3>>(FSlateApplication * ThisApplication, FEventRouter::FToLeafmostPolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::__l8::<lambda_3> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 442	C++
UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5206	C++
UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(const FPointerEvent & MouseEvent) Line 5775	C++
UnrealEditor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5740	C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 2231	C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2738	C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1099	C++
[Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 931	C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 937	C++
user32.dll!00007ffa55ba8241()	Unknown
user32.dll!00007ffa55ba7d01()	Unknown
[Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 119	C++
UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 148	C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5749	C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 61	C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 188	C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 247	C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298	C++
[Inline Frame] UnrealEditor.exe!invoke_main() Line 102	C++
UnrealEditor.exe!__scrt_common_main_seh() Line 288	C++
kernel32.dll!00007ffa56b9257d()	Unknown
ntdll.dll!RtlUserThreadStart()	Unknown

Or in the case of the freeze-on-save, everything from ShowWindow and above is the same.

I have tried creating a fresh “blank” C++ project and importing the sample model, and that also freezes. I have also tried updating my graphics drivers, to no avail. Any help would be appreciated :slight_smile:

I found a workaround that avoids the freeze, by changing the project setting “Default RHI” from DirectX 12 to 11… however this will presumably lock me out of some of the new graphical features that were added in UE5.

Is there any way to fix this without sacrificing DX 12?

1 Like

Having similar problem with all of my projects. Did you managed to find any solution?

edit. I work on my laptop, maybe problem is because of switching from/to integrated graphics? Tried to force UE to use my 3060, but seems that doesnt have any effect. Seems that laptop isnt able to use ONLY discrete videochip - if i disable integrated AMD graphics in device manager, laptop doesnt use 3060 (can see it because of usage in task manager, overall perfomance hit, and windows setting up its “Generic video driver” everywhere, instead of nvidia one; everything comes normal, when i turn my integrated back on).