Unreal 4.17.0 Crashes on Project Load

I ran into this same issue with similar system specs (Late 2013 MBP Retina). Uncommenting r.Shaders.Optimize=0 didn’t work for me—actually it made the startup hang repeatedly at 35%—but I found another solution.

Forcing use of the integrated graphics during ue4editor startup allowed it to finish loading a project. After that I can re-enable the discrete graphics (Nvidia) or dynamic switching and continue on working.

Unfortunately, Apple didn’t build in the ability to force which chipset you’re using manually, but there’s a popular app for it—gfxCardStatus (open-source, github / homebrew). It’s usually used to load up older games that get confused by the Mac’s dynamic graphics switching, but it worked well for this case too.

I’m currently running macOS 10.12.5 + gfxCardStatus v2.4.3i

Note: The link below is to the steveschow project fork, as it contains patches for post-2010 MacBooks.

GitHub project page: GitHub - steveschow/gfxCardStatus: This is a fork of gfxCardStatus, this fork will handle integrated-only mode a little better

Hello, I’m relatively new to Unreal and am hoping for a solution to the constant crashes I’m currently experiencing. I upgraded to 4.17.0 today and have not been able to load a project since. I’m able to choose basic project settings such as console, quality, and starter content but after that the project editor loads to 96% then crashes. I’ve attempted two clean installs including deleting all of the files stored in ‘Users/Shared/Epic Games’ and ‘Library/Application Support/Epic’. Any guidance is much appreciated!

My hardware is:

  • MacBook Pro running Sierra 10.12 with XCode 8.3.3
  • Intel i7
  • 8 GB RAM
  • NVIDIA GeForce GT 650M

My exact error message is:

SEGV_MAPERR at 0x3

FGenericPlatformMisc::RaiseException(unsigned int) Address = 0x1069d9c9b (filename not found) [in UE4Editor-Core.dylib]
FOutputDeviceMacError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&) Address = 0x106bf125f (filename not found) [in UE4Editor-Core.dylib]
FOutputDevice::Logf(wchar_t const*, ...) Address = 0x106cd794d (filename not found) [in UE4Editor-Core.dylib]
FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...) Address = 0x106c2a81e (filename not found) [in UE4Editor-Core.dylib]
FMetalRenderPipelineDesc::CreatePipelineStateForBoundShaderState(FMetalBoundShaderState*, FMetalHashedVertexDescriptor const&) const Address = 0x13c53651a (filename not found) [in UE4Editor-MetalRHI.dylib]
FMetalBoundShaderState::PrepareToDraw(FMetalHashedVertexDescriptor const&, FMetalRenderPipelineDesc const&) Address = 0x13c501c92 (filename not found) [in UE4Editor-MetalRHI.dylib]
FMetalContext::PrepareToDraw(unsigned int, EMetalIndexType) Address = 0x13c4fba28 (filename not found) [in UE4Editor-MetalRHI.dylib]
FMetalRHICommandContext::RHIDrawIndexedPrimitive(FRHIIndexBuffer*, unsigned int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) Address = 0x13c4ddb72 (filename not found) [in UE4Editor-MetalRHI.dylib]
DrawRectangle(FRHICommandList&, float, float, float, float, float, float, float, float, FIntPoint, FIntPoint, FShader*, EDrawRectangleFlags, unsigned int) Address = 0x1183d6b48 (filename not found) [in UE4Editor-Renderer.dylib]
FDeferredShadingSceneRenderer::RenderLight(FRHICommandList&, FLightSceneInfo const*, IPooledRenderTarget*, bool, bool) Address = 0x1180ef04f (filename not found) [in UE4Editor-Renderer.dylib]
FDeferredShadingSceneRenderer::RenderLights(FRHICommandListImmediate&) Address = 0x1180e95b6 (filename not found) [in UE4Editor-Renderer.dylib]
FDeferredShadingSceneRenderer::Render(FRHICommandListImmediate&) Address = 0x117f97a11 (filename not found) [in UE4Editor-Renderer.dylib]
FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::EURCMacro_FDrawSceneCommand::DoTask(ENamedThreads::Type, TRefCountPtr const&) Address = 0x1186223d0 (filename not found) [in UE4Editor-Renderer.dylib]
TGraphTask::ExecuteTask(TArray&, ENamedThreads::Type) Address = 0x118686760 (filename not found) [in UE4Editor-Renderer.dylib]
FNamedTaskThread::ProcessTasksNamedThread(int, bool) Address = 0x1069fd1cf (filename not found) [in UE4Editor-Core.dylib]
FNamedTaskThread::ProcessTasksUntilQuit(int) Address = 0x1069fc1d8 (filename not found) [in UE4Editor-Core.dylib]
FTaskGraphImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type) Address = 0x1069f7f61 (filename not found) [in UE4Editor-Core.dylib]
RenderingThreadMain(FEvent*) Address = 0x108d45cb1 (filename not found) [in UE4Editor-RenderCore.dylib]
FRenderingThread::Run() Address = 0x108d5b5d7 (filename not found) [in UE4Editor-RenderCore.dylib]
FRunnableThreadPThread::Run() Address = 0x106a7bc90 (filename not found) [in UE4Editor-Core.dylib]
FRunnableThreadPThread::_ThreadProc(void*) Address = 0x106a1db80 (filename not found) [in UE4Editor-Core.dylib]
_pthread_body Address = 0x7fffe974493b (filename not found) [in libsystem_pthread.dylib]
_pthread_body Address = 0x7fffe9744887 (filename not found) [in libsystem_pthread.dylib]
thread_start Address = 0x7fffe974408d (filename not found) [in libsystem_pthread.dylib]

Hi ziigglis,

This crash appears to be caused by an existing conflict between the Nvidia driver and Metal. I am unable to reproduce the crash on a Mac that is using an AMD card, but on a Mac that has an Nvidia card I did see this crash occur. While that conflict is being investigated, you can disable Metal in the Editor in order to be able to open your project.

To disable metal, open the ConsoleVariables.ini file and remove the semi-colon (:wink: from the front of the following line: ;r.Shaders.Optimize=0

This will result in the performance benefits from Metal not being available, but you will still be able to work on your project. Once the existing conflict is resolved, you can replace the semi-colon in this file to regain the benefits of using Metal.

Thank you so much for the fast reply! That solved my problem, I’m able to load projects and continue working now.

Just installed the utility via homebrew and ran UE4 with the default .ini file instead of the edited one following your directions to force integrated then switch to discrete. It worked like a charm! The editor loaded significantly faster and I’m happily running my Nvidia with Metal shaders. Great addition, thank you!

hey @ C ,

In my case I don’t even see the editor Splash screen and editor crashes without even issuing the Crash log.

I have Nvidia 750m on MBP 2013 i7 2.3 ghz and 16mb ram.
I tried the workaround but it didn’t change anything at all.

I tried to launch only editor from the launcher (without any project)
and it still crashes.

Will be any resolution (patch) on this issue or should I just revert everything back to 4.16 ? (which works perfectly)

Update:
I was able to run UE4Editor.app directly - it opened just fine (which I assume is just a launcher problem P.S. how do I reinstall the launcher without having to reinstall all of the engines versions ?).

I am trying to open my project now:
it trying to compile shaders now - I will update the post once it finishes/crashes :slight_smile:

The Editor started up fine,
HOWEVER - I tried to package my game right away - the packaging process succeed - but the game doesn’t launch at all.

I closed up the editor and tried to launch it again (via UE4Editor.app) and this time the Editor did not launch as it was previously - it immidiately closed without even showing the splash screen.

I tried to relaunch via Launcher → same issue.