Detailed analysis
LowLevelFatalError is Unreal Engine's way of saying "something broke so badly the engine can't continue." The fastest fix: verify game files, delete the shader cache at %LOCALAPPDATA%\[GameName]\Saved\, update your GPU driver (DDU clean install), and remove any mods. The error dialog shows a file path and line number — that information is actually useful, and searching it with your game's name usually leads to a specific fix.
What's actually happening
LowLevelFatalError is Unreal Engine's catch-all crash handler. When any part of the engine — rendering, physics, audio, networking, asset loading, scripting — hits an error that can't be recovered from, it calls appError() which triggers the LowLevelFatalError dialog. The dialog includes a file path (like "Engine/Source/Runtime/D3D12RHI/Private/D3D12Util.cpp") and a line number that point to exactly where in the engine source code the failure occurred.
That file path is genuinely informative. D3D12RHI or D3D11RHI in the path means a DirectX/GPU error. RenderCore or Renderer means a rendering pipeline failure. PakFile or AssetRegistry means a corrupted game file. Niagara means a particle system crash. SlateUI means a UI rendering failure. Online or Net means a networking error. If you search the specific file path and line number along with your game's name, you'll often find other players who hit the exact same crash with a documented fix.
This error spans every Unreal Engine 4 and 5 game in existence. Fortnite, PUBG, Hogwarts Legacy, Palworld, ARK: Survival Ascended, Dead by Daylight, The Finals, Rocket League, Dragon Ball Sparking Zero, Tekken 8, and hundreds more — they all use the same engine and throw the same LowLevelFatalError when something goes wrong at the engine level.
The most common causes (in order of likelihood)
Corrupted game files. The most frequent cause. Unreal Engine games store assets in .pak files (large archive files containing textures, models, audio, and other data). If a .pak file is corrupted — bad download, interrupted update, disk error — the engine crashes when it tries to load the corrupted asset. The crash happens at a specific point: entering a particular area, loading a particular weapon or character skin, or starting a specific game mode. Verification through Steam or Epic re-downloads the corrupted .pak file and fixes the crash.
Corrupted shader cache. Unreal Engine compiles shaders for your specific GPU the first time you encounter each visual effect, then caches the compiled shaders for future use. This cache lives in %LOCALAPPDATA%\[GameName]\Saved\ in folders called PipelineCaches, ShaderCache, or DerivedDataCache. If a cached shader is corrupted (compilation interrupted by a crash, disk error, or driver update that invalidated the cache), the engine crashes when it tries to use that shader. Deleting the cache forces a clean recompilation.
GPU driver incompatibility. Unreal Engine 5 games in particular use cutting-edge DirectX 12 features: Nanite (virtualized geometry), Lumen (global illumination), Virtual Shadow Maps, and hardware ray tracing. These features stress GPU drivers in ways that older or buggy driver versions can't handle. A LowLevelFatalError with D3D12RHI in the file path almost always points to a driver issue. UE4 games are more tolerant of older drivers, but can still crash with specific driver versions.
Mod conflicts. Modded Unreal Engine games are prime targets for LowLevelFatalError. Mods that replace or modify game assets (custom textures, models, maps) can reference engine functions or data structures that don't exist in the current game version. Blueprint mods that run custom game logic can trigger engine assertions. Pak mods that override core files can cause asset loading failures.
VRAM exhaustion. When Unreal Engine runs out of VRAM, it has to stream texture data back and forth between GPU memory and system RAM. If this streaming can't keep up with demand, the engine's texture manager hits an error state and calls LowLevelFatalError. This typically shows up as crashes in RHI (Render Hardware Interface) code paths. You'll notice it happening more in open areas with lots of visible geometry and textures.
Insufficient virtual memory. Unreal Engine games are notoriously memory-hungry. UE5 games like Hogwarts Legacy and ARK: Survival Ascended can use 16-20GB of system RAM. If your pagefile is too small and physical RAM runs out, the engine's memory allocator fails and triggers LowLevelFatalError with an out-of-memory call stack.
How to fix it
- Verify game files. On Steam: right-click the game > Properties > Installed Files > Verify Integrity of Game Files. On Epic: click the three dots next to the game > Manage > Verify. This re-downloads any corrupted .pak files. It takes a while for large games (Hogwarts Legacy is 85GB+) but it's the single most effective fix. Run it even if you think your files are fine — corruption isn't always obvious.
- Delete the shader cache. Open File Explorer and navigate to %LOCALAPPDATA% (type that in the address bar). Find the folder for your game — it might be the game's exact name or the developer's name. Open it, then look inside Saved\ for folders named PipelineCaches, ShaderCache, DerivedDataCache, or any folder with "cache" in the name. Delete those folders entirely. The game rebuilds them on next launch. You'll experience stuttering for the first 5-15 minutes as shaders recompile — that's normal and expected.
- DDU clean install your GPU driver. Download DDU from guru3d.com. Boot into Safe Mode (Shift+click Restart > Troubleshoot > Startup Settings > Safe Mode). Run DDU, select your GPU vendor, click Clean and restart. Install the latest driver from nvidia.com or amd.com. For UE5 games specifically, NVIDIA Game Ready drivers tend to include optimizations for major UE5 titles — check the release notes.
- Remove all mods. If you're running mods — pak mods, Blueprint mods, UE4SS mods, mod loaders — remove them all and test vanilla. Common mod locations: the game's Mods\ folder, the Paks\ folder (look for .pak files that aren't part of the original game), and ~mods or LogicMods subfolders. If the game works without mods, add them back in batches to identify the problem mod. After game updates, check that all your mods have been updated for the new version.
- Lower graphics settings. Focus on VRAM-heavy settings first: Texture Quality (drop from Ultra/Epic to High or Medium — this alone can free 2-3GB of VRAM), Shadow Quality, View Distance / Draw Distance, Foliage Quality, and Effects Quality. In UE5 games, also try: disabling Nanite (if exposed), switching Lumen from Hardware Ray Tracing to Software Ray Tracing or Screen-Space, reducing Virtual Shadow Maps quality. Monitor your VRAM with Task Manager > Performance > GPU — stay under 80% of your total.
- Increase virtual memory. Right-click This PC > Properties > Advanced System Settings > Performance > Settings > Advanced > Virtual Memory > Change. Uncheck auto-manage, select your SSD, set Custom Size to Initial 16384 and Maximum 32768 (16-32GB). Click Set, OK, restart. This is critical for UE5 games if you have 16GB of RAM or less.
- Look up the specific file path. The LowLevelFatalError dialog shows something like "[File: D3D12Util.cpp] [Line: 1234]". Copy that file name and line number, add your game's name, and search Google or Reddit. Example: "Hogwarts Legacy D3D12Util.cpp LowLevelFatalError." These crashes are catalogued by other players who found specific solutions. A crash in D3D12Util usually means driver issue. A crash in FPakFile means corrupted assets. A crash in a game-specific file (like a map name) means a game bug.
- Disable overlay software. Turn off Discord overlay (User Settings > Game Overlay > toggle off). Turn off GeForce Experience overlay (Settings > In-Game Overlay > off). Turn off Steam overlay for the specific game (right-click > Properties > uncheck overlay). Overlay DLL injection can trigger LowLevelFatalError in Unreal Engine's render thread.
Is this a hardware or software problem?
LowLevelFatalError is almost always software. Corrupted files, bad shaders, driver bugs, and mod conflicts are the top causes. Hardware failure is rare but possible: if LowLevelFatalError crashes happen across multiple different UE games and persist after clean driver installs and cache deletions, test your RAM with memtest86 (bad RAM corrupts game data in memory) and your GPU VRAM with OCCT.
Here's the quick diagnostic: if the crash always happens in the same game at the same spot, it's a game file or game bug. If it happens in one game but at random times, it's likely a driver or VRAM issue. If it happens across multiple UE games, it's a system-level issue (driver, RAM, or Windows).
If you're not sure, Crashless can check your drivers, temps, VRAM, and 400+ known patterns automatically — just use the chat above.
Games commonly affected
Fortnite, PUBG, Hogwarts Legacy, Palworld, ARK: Survival Ascended, Dead by Daylight, The Finals, Tekken 8, Dragon Ball Sparking Zero, Rocket League, Satisfactory, SquadBusters, Ready or Not, Remnant II, The First Descendant, and essentially any game built on Unreal Engine 4 or
5.
Frequently asked questions
Q: The error shows a file path I can't find on my computer. What is it?
A: The file path in the error refers to the Unreal Engine source code, not a file on your system. It tells the developer (and knowledgeable players) where in the engine code the crash occurred. You can't open or fix that file — but you can search it online to find what other people with the same crash did to fix it.
Q: I verified game files and it says everything is fine, but I still crash. Now what?
A: File verification checks file integrity but doesn't clear the shader cache. Delete the shader/pipeline cache folders manually (see step 2). Also try a DDU clean driver install — the crash might be in the GPU driver's shader compiler, not in the game files themselves.
Q: Does this mean Unreal Engine is buggy?
A: LowLevelFatalError is a crash handler, not a specific bug. It fires whenever anything goes wrong, including problems that have nothing to do with the engine (like corrupted files on your disk or a GPU driver bug). The engine itself is stable — the error is usually caused by something external.