upvote
UE is also just not a good engine. If you reduce "what is a 3D game engine" really hard it is "framework for running an input-process-output loop while consistently rendering audio and video". UE fails at the latter (factually unfixable shadder stuttering issues). A pragmatist might consider the taxonomy and say UE is therefore not a game engine. Unreal seems to be a great framework for assembling and generating content, though. Maybe Unreal Free was the metaverse all along?

Meanwhile idTech certainly had issues, mostly in regards to dynamic levels, especially in older iterations, but "consistently rendering audio and video" was certainly never among them. It is well above the industry mean when it comes to the core of what a game engine is.

reply
Isn't the shader stuttering an issue with games refusing to compile shaders ahead of time?
reply
No, I think it's widely regarded as engine limitations even when people continually claim it's up to individual game devs to optimize their games.

If that were the case then why do nearly all UE5 games suffer from the same engine stutter issues. And to OPs point, even if it can be optimized away, why isnt the engine in a state where the baseline performance for realtime rendering does not exhibit these stutter issues on the majority of games.

reply
Unreal’s limitation is that it doesn’t know how a shader will be used until it actually tries to render it on the target hardware. This is a trade-off to gain flexibility and rendering performance. The engine has to compile shaders on the fly when it is first used, which is fine if the shader is simple, but nowadays that usually is not the case.

There are ways to make a player’s PC compile shaders before realtime play begins, but it takes some setup and smaller devs might not know how to do it. This is most likely the reason why stuttering happens.

On fixed hardware targets (consoles, Steam Deck) you can ship precached shaders as you know everything about the target hardware.

reply
Console vs PC is a red herring since UE games still stutter on consoles, people just notice that less because most games run at 30 fps anyway. You can read Unreal's own blog posts on this and they'll actually explain that this is mostly down to their material system (and game logic/scripts reaching into it) being designed to create nearly infinite shader variations on the fly in response to arbitrary world/game states. This design choice separates engines which have shader stutters from those which do not.

https://www.unrealengine.com/tech-blog/game-engines-and-shad... https://medium.com/@GroundZer0/what-unreal-doesnt-tell-you-a... https://therealmjp.github.io/posts/shader-permutations-part1...

reply
> [...] people just notice that less because most games run at 30 fps anyway

This is just plainly not true anymore, as far as the current gen consoles (PS5, XBox Series X) go.

I just searched for every major/notable PS5 game built on UE5 specifically (i.e., no UE4), which wasn't super difficult, given there are 31 of them. I might be missing a few, but that sample should be representative enough.

TLDR: 28 out of 31 UE5 games on PS5 have a performance/60fps mode, making it a ~93% share.

P.S. For posterity, here is the list of games I used for this sample:

> Fortnite, Marvel Rivals, The Finals, Tekken 8, The First Descendant, Clair Obscur, Lords of the Fallen, Remnant II, Immortals of Aveum, RoboCop, Black Myth: Wukong, Silent Hill 2, Silent Hill f, Wuchang, MGS Delta, Oblivion Remastered, S.T.A.L.K.E.R. 2, Hellblade II Enhanced, Mafia: The Old Country, Talos Principle 2, Jusant, Still Wakes the Deep, Cronos, Until Dawn post-patch, Banishers, Fort Solis, Layers of Fear, Quantum Error, ARK, and The Casting of Frank Stone

reply
Yes, that’s what I said. Powerful and flexible, at the expense of not being able to know how it will be used ahead of time.

Bundling and precompiling is not a fool-proof guarantee but it is very effective. Most often when a game has shader stutter the developers have not bundled or allowed the shaders to compile before gameplay starts (or it’s actually some other unrelated issue). The engine doesn’t do it automatically.

reply
Or maybe...it is a good engine when configured and used properly, and many developers don't take the time to learn how to do so. There are plenty of UE games that don't have shader stuttering issues because there are plenty of things you can do to avoid shader stuttering.

UE-powered games collectively earn 20+ billion worldwide annually each year. Unity-powered games also earn 20+ billion annually. This means that each year these "bad" game engines power more revenue than every YCombinator company combined.

Meanwhile, idTech, however technically amazing it may be, is so complicated to develop for that even id Software doesn't use it for every game.

reply