Poor performance is not a game engine problem
Frame rate is almost exclusively a development process outcome
There’s been a lot of vitriol from gamers over the past few years about games made in Unreal suffering from performance issues. This misdiagnosis irks me to no end, so I want to share a few thoughts.
Let me first start with a few examples:
The Callisto Protocol (Dec 2022): shader compilation stutter at launch was so bad it became the quintessential example used by Digital Foundry when explaining the problem.
Lords of the Fallen (Oct 2023): launched with frame pacing and stutter issues across PC, Xbox Series X and Series S. Hexworks spent months patching.
Immortals of Aveum (Aug 2023): one of the earliest high-profile UE5 titles. Launched with severe shader compilation stutter and ran poorly even on high-end hardware.
Remnant II (Jul 2023): shipped with the studio openly stating the game was designed assuming upscaling (DLSS/FSR) would be on by default.
STALKER 2: Heart of Chornobyl (Nov 2024): launched with severe traversal stutter, CPU bottlenecking in towns and a heavy reliance on upscaling to hit playable frame rates. Steam forum threads with titles like "Unreal Engine 5 is Garbage" and "Unreal Engine 5 killed the optimization of this game" were typical of the reception.
The Oblivion Remaster (Apr 2025): built on UE5 over the original Gamebryo engine. Criticized at launch for performance issues even on Series X.
Borderlands 4 (Sep 2025): struggled to clear 50 fps at native 4K maxed on an RTX 5090, and the console versions had memory leaks that required full reboots. Randy Pitchford’s statements certainly did not help.
MindsEye (Jun 2025): probably the worst-received UE5 launch of 2025. A 5090 couldn't hold native 4K 60 fps. The upper end of how bad it can get when a team leans on photorealism without the time or capability to optimize effectively.
This is absolutely wild. Unreal doesn’t make your games pretty, or not pretty, or performant, or not performant. Neither does Unity, Godot, GameMaker or any of the other engines.
A game engine is just a tool. It’s like a ballpoint pen. You can’t blame your prose on the quill.
When a graphically-rich game made in an engine with a complex renderer and a laundry list of graphical features stalls, or has performance spikes, or caps at a miserable 30 fps, the cause is rarely the engine. It’s more often than not because:
The team got overly excited about all the visual bells and whistles that they could cram into the game and overdid it
The team didn’t leverage a solid profiler and realized the game is severely GPU-bound at the 11th hour, without any time left to undo the mess
The team didn’t set good GPU and CPU budgets, so the game spends five gazillion milliseconds on questionable post-process and has almost nothing left for static geometry
The team didn’t put in place an ongoing optimization strategy to ensure that the game doesn’t spike or dip and maintains a steady frame rate
The team didn’t properly optimize assets, nothing is getting culled and the game is rendering all the things ever all the time
The team seldom tested on dev kits, relied extensively on PC results without any hardware compat passes and now the game runs terribly on consoles
The team was too aggressive with its target min spec
Notice the common denominator here: the team. Not the tool. The team. Are game engines perfect? Consistently not even close. Do high-fidelity games ship without major performance problems? All the time. See Avowed, Kingdom Come: Deliverance, Indiana Jones and the Great Circle, Death Stranding 2, Clair Obscur: Expedition 33, Horizon Forbidden West, Alan Wake 2, etc.
There are two reasons why Unreal 5 specifically takes so much flak from gamers. The first is that it’s the engine that devs use to make graphically-demanding games. You don’t make RTX 5090-melting games on GameSalad Creator or Roblox Studio. So when something goes wrong in a high-fidelity game, it tends to be made with Unreal. And the second reason is that gamers don’t really understand how the remarkably complex tech stack powering enormous AAA games works. Which is absolutely fine, why should they? I don’t understand aviation but that doesn’t keep me from getting awfully pissy and opinionated when my flight is late.
“Most developers begin by building for the highest-end hardware, then only in the final stages do they optimize and test for lower-spec devices,” he said. “That late-stage approach is the key reason players experience performance problems.”
I seldom agree with Tim Sweeney, but he hits the nail in the head with that statement.
If you’re a developer and you don’t want to be on the receiving end of your gamer’s ire, the 7 bullets above are worth putting on your backlog as ongoing checks. Performance, memory, streaming, and critical cert requirements need to be actively managed from preproduction all the way to the game being live.
I'm Sebastian. Twenty years across AAA studios (Riot, Crytek, EA), indie and founding roles. I write at Game Studio Unlocked because I want to help the next generation of indie game studios do great. I also work directly with a few studios at a time as a fractional COO and executive producer. More at gamestudiounlocked.com or on LinkedIn.





It’s because UE5 builds every possible combination of shader for efficiency reasons. permutations can quickly explode as more graphical features are added. The shaders are compiled on each users target hardware. A better solution would be shipping precompiled shaders, but graphics cards setups are so configurable now, that is no longer practical. I have also found this to be frustrating when you install a game and get to the main menu and it takes 1 hour for the shaders to be ready.
Another solution could be to group shaders by use case and only compile them as needed e.g when you get to the levels they are used in. That would require engine code changes though. Devs typically don’t notice the cost because they never work on a fresh install, shaders are cached in their dev environment. Same goes for QA.