Unreal Engine 5, [UE5 Developer Availability 2022-04-05]

I'm tired of sony's trailer shenannigans. Anyway............ here's the demo on PC which you may have thought isn't a thing by watching that trailer.

 
Blueprints are fine. You can write most of your game in BP and get the performance you want. The issue is not what (BP) is used but how. It's very easy to pull too much into your BP, it's too easy to rely on tick and it's much easier to recalculate things than it is to cash them. It's not that BPs can't be used extensively it's that ergonomics are not there and the path of least resistance is often suboptimal. This is compounded by two banes of game development: waiting with performance monitoring for too long and lack of investment in automated testing. By the time you start looking at performance issues you're typically down to only one option: rewriting parts of your BPs in C++. Not because logic couldn't be in BPs but because untangling wacky dependencies in BP would be riskier than doing some massaging in C++. MASS and PCG aren't solving these issues as they either exist for different use cases than BP are used (MASS) or require designing entire parts of the game around them from ground up (PCG) and can't be used during development as a crutch.



In UE5 (BTW, HLOD can mean many different things in UE) when you're using world partition, HLOD is a massive, complex system that interacts with multiple pieces of engine in non-obvious ways. It's under-documented and really hard to use. Undocumented and non-obvious is Unreal's unifying thread.



It sounds simple in principle but like I said above: Unreal is massive, complex, and very few people understand how different things interact. And more often than not you don't need to modify the engine. What you need is understanding of a subsystem that's poorly documented or even hard to discover (there are tons of things UE can do but very few people know exist). Undocumented and non-obvious.



Your blind spot seems to be that the same issues pop up in non-UE games. It's just (like many pointed before) that there are fewer non-UE games on the market. You're ignoring your priors. It's tempting to claim that games wouldn't have similar issues if only developers used different tech. But that assumes that UE is used despite its clear problems for seemingly no gain. Surely you don't think that developers are blind to solution this obvious. ;)



Yup. Streaming the content in and performing gameplay-related logic (which is typically single-threaded) is what chokes most games.



Before you profile anything you need to know what is there for you to use. There are so many things UE delivers out of the box that are hidden. A lot depends on tribal knowledge. If you work with sufficiently many UE experts you will absorb knowledge through osmosis over time. But boy, is Epic really bad at educating about their engine. Most videos and articles are extremely surface level and fall apart the moment you start working on a semi-complex project. It looks great when you deliver new feature and have a flashy hour long presentation. But it all falls apart when you start using it. Suddenly you're on your own and have to build a game while trying to catch up with development Epic did on a feature. So read that code like a champ because that's the only way to learn how things work. :|



"Just" is doing a lot of heavy lifting here. Epic is, in my view, pretty terrible with educational material. What they do feels sufficient if you don't use their engine. But isn't as soon as you do.



I intended to quote this in disagreement but this really depends if we're talking about making game (then I disagree) or learning UE (in which case I agree). Diving into engine is often the only valid way to build expertise. Good luck finding the time for that while you're also building a game. :(



Yes, developers are lazy and don't care about anything.



If you can't back your claim with data, why would they? I mean, this is as helpful as "could you please write fewer bugs? kthxbye".
The issues with UE5 that we have been talking about here is on point.
Its something i have always harped on. Epic is known to release demos but I have noticed, all the demos that have released this gen are in-efficient and perform horrible. Devs then learn the wrong lessons because of it. We just confirmed all devs including AAA devs use the engine as it is. They will even use these sample projects as a foundation. Example is the famous Battle Royal game PUBG or was it ARK was using the shooter game sample as the foundation of their game.

So you have demos like the Electric Dream that even today on UE5.5 runs 10-20 fps on 4070. It even has the patented transversal stutters.

Then you have the valley of the ancient, again another demo that is full of stutters. The lead up to the monster at the end when it first plays his animation with chaos destruction stutters and downright stalls on every single system, including the 4090.

Brian Karis the creator of Nanite even called it the worse example of how to use nanite because of the whole overdraw.

You had matrix awakens that while it ran on console, ran on pretty poor performance. We are talking well under 1080p and barely holding 30fps with stuttering when you hit cars ofcourse.

I could keep going. But I wont. All the "optimized" demo that supposedly runs on the PS5 at good resolution/fps with no stutters are never released. Even features like Chaos Destruction are still horribly inefficient. This has lead people to believe that some of these demos that were shown and never released were fake to an extent. Like the Chaos demo. Same with the case of Lumen in the Land of Nanite which supposedly ran 1440p/40fps. Again another that never got released. These demos if real would have served as a foundation to the devs on how to setup good looking nanite meshes with gameplay and destruction that runs efficiently. This is before all the so-called engine optimization. Could the LILN demo if it was real run 1440p/60fps today or even 1800p/60fps? Could the chaos demo if it were real and chaos has supposedly went through several multiple improvements since that demo run at an even better resolution/fps? Today you can't even make add chaos destruction without it tanking performance.

Either way All we ended up with is inefficient and stuttering Valley of the Ancient, Electric Dream, etc as examples on how to utilize nanite with gameplay. So devs follow that example and we ended up with unoptimized/unperforming stuttering games. Even for games that look subpar.

 
Last edited:
I briefly tried The Alters demo (I'll try the full thing when it hits game pass).

The opening oily sea flyover has horrible what I presume is shader stutter, but once I had control of the character it was fine.

It's a really cool looking opening area, with said oily sea lapping on the beach, cliffs made up from bashed up basalt columns and flares bouncing red light around them.

It's one of those you could do it without Nanite situations, but you'd be hard pressed to do.
 
Last edited:
With all being said about UE5 shortcomings and nanite being this and that i have to say that two UE5 games that i played recently leaved me stunned and give me "next gen" feeling that i am not sure i had before on XSX.
Lords of the fallen and Senua2. Its absolutely crazy how good those games look. The amount of details dense geometry and lighting is simply stunning. I got myself new Space marine on steam sales during BF and while the game is good the visuals feels like a last gen game compared to this two. When i watched first demos of UE5 i was thinking the games will never look that good, i was wrong.Lords of the Fallen-2024_12_06-14-01-39.jpgLords of the Fallen-2024_12_06-13-53-51.jpgLords of the Fallen-2024_12_06-13-44-56.jpg
 
Last edited:
With all being said about UE5 shortcomings and nanite being this and that i have to say that two UE5 games that i played recently leaved me stunned and give me "next gen" feeling that i am not sure i had before on XSX.
Perhaps controversial for me to say.
For most of us in the world looking to solve problems, first you solve it, and if you can solve it that is the hardest part.
If your only job afterwards is to optimize and make it cheaper, that is a great problem to have.

UE in general solves a lot of problems, but ontop of all of that technology they have to solve issues, they also have one of the largest labour forces that knows how to use unreal. That's a major problem that custom engines tend to have, you can't just hire people and they can get right to work, there is a learning period that UE somewhat addresses due to it's popularity in a variety of industries and verticals.

That being said, I think that's one of the largest reasons why MS continues to put more and more of their studios on UE5, one could imagine that they spent a lot of time evaluating between UE5 vs IDTech for the next Halo. I mean, this isn't cheap either, UE has licensing fees that they don't have with IDTech which they own.

One must imagine, that they don't fear the optimization challenges that this thread continues to harp on - as much as they fear not being able to get content out in time, and I very much think that's understandable.

They will have 3 major studios (NT, Halo Studios, and Coalition) all working Unreal, their extensive knowledge of the engine runs deep. I think it would be fair to say, if they can't get performance to work, then perhaps no one other than Epic can. But MS has a pretty good track record here with UE.
 
Its something i have always harped on. Epic is known to release demos but I have noticed, all the demos that have released this gen are in-efficient and perform horrible. Devs then learn the wrong lessons because of it. We just confirmed all devs including AAA devs use the engine as it is. They will even use these sample projects as a foundation. Example is the famous Battle Royal game PUBG or was it ARK was using the shooter game sample as the foundation of their game.
I don't necessarily disagree with you on the specific examples (Valley of the Ancient and Electric Dreams especially), but you are somewhat misrepresenting the reality from an actual developer point of view here. Those two demos in particular were very specifically Quixel/Art demos, not game demos. Electric Dreams was designed to run as a stage demo on a 4090. There's parts of it (the PCG maps in the sample) that can be used as examples of how to do similar things in a game, but I think at least from a developer communication side it has always been very clear that these demos were never meant to form the basis of best practices for a real time game. You even yourself cite Brian's communication around the way the valley demo was constructed, and this was indeed cited in the initial presentations as well.

But these are not the frameworks that people use for gameplay. Ark and PUBG and hell even Satisfactory and others often start with ShooterGame, or these days Lyra, and modify things from there. Those are the samples that are meant to form some of the gameplay structure basics and run smoothly on lots of platforms out of the box. All the gameplay stuff in the graphics demos is throw-away (CitySample is kind of half and half... certainly could be better) and optimized only to the point where it runs well enough for the given demo needs.

To reiterate, this is not an excuse for not optimizing the other samples more as well, which would obviously be great. Especially CitySample I'd love to see revisited, but as you might imagine getting any dev time to go back to old demos vs. the myriad of new tasks is pretty difficult. But while this may not be especially clear to consumers just watching the marketing presentations, various demos are designed for different purposes and no experienced developer is taking the throwaway gameplay code from a graphics demo as a basis of their game.
 
Its something i have always harped on. Epic is known to release demos but I have noticed, all the demos that have released this gen are in-efficient and perform horrible. Devs then learn the wrong lessons because of it. We just confirmed all devs including AAA devs use the engine as it is. They will even use these sample projects as a foundation.
If people are taking tech demos as "the way to do things" it is their problem. Tech demos are, well, a way to demonstrate features that you're working on. Most of the stuff demonstrated is either not available (yet) or marked as experimental. I really don't see how you can blame Epic for having WIP features when they are marked as such. I mean, sure, it would be great to have some of this stuff production ready. But it's clear when things very much aren't. (n.b. I find this state still much better than what Unity does; Unreal at least has some advanced production ready features xD)

What is worth looking at instead are not tech demos but sample projects. Lyra is old but it's absolutely full of examples of how to do certain things (things that are often poorly documented). I don't think there's any other way to learn async animation graphs than diving into Lyra and modifying what's there to build a better understanding of the tech.

I mean, lack of proper documentation is definitely a problem. People basing their games on tech demos isn't. Or at least it isn't Epic's problem. Expecting tech demos to be properly optimized is really odd, IMO. These are tech demos, not perf optimization exercises. And even if they were - performance is extremely content dependent. Even if LILN were butter smooth there's no guarantee that its setup would translate well to your game (unless you're making LILN game). You need to involve tech artists early on and test intersection of features you want to use in your game before you make your game. Waiting with optimizations (or console ports) until game is in production is a recipe for failure and I don't think other engine would change that.
 
Back
Top