What is your current opinion on Unreal Engine 5? Between Digital Foundry, content creators, and people on social media, everyone appears to be constantly attacking UE5 for performance issues (stuttering, frame rate, etc.). Is this criticism warranted, or is it more a case of developers still getting used to UE5 and its complexities (meaning it will likely improve in time)?

Everything improves with time as the engineers learn the details and optimize their work. This is true of every tech platform ever and won't be any more different with Unreal Engine 5 than it has been with UE4, 3, or anything else. That said... after having very recently worked with UE5 for enough time to get used to some of its foibles and having looked into some core engineering issues in a project utilizing some of the new tech introduced in UE5 (and the caveats and side effects of using that tech), I can say with fair confidence that (some) complaints about the performance issues are definitely warranted. These aren't global to all UE5 projects, but they are major performance issues we ran into and had to solve.

One major issue we ran into was with Nanite. Nanite is the new tech that allows incredibly detailed high poly models, a sort of [LOD system] on steroids. The Entity Component System of the Unreal Engine (every actor is a bag of individual components) allows developers to glom nanite meshes onto just about anything and everything including characters, making it very powerful and quick to stand up various different visuals. However, this also requires significant time spent optimizing that geometry for lighting and for use in game - interpenetrating bits and pieces that don't necessarily need to calculate lighting or normals or shadows unnecessarily add to the performance cost must be purged from those nanite models. Nanite looks great, but has issues that need to be ironed out and the documentation on those issues isn't fully formed because they're still being discovered (and Epic is still working on fixing them). We had major performance issues on any characters we built using nanite, which meant that our long-term goal for performance was actually to de-nanite our characters completely.

Another major issue I ran into was with the new UE5 World Partition system. World Partition is essentially their replacement for their old World Composition system, it's a means of handling level streaming for large contiguous world spaces. In any large open world, you're going to have to have individual tiles that get streamed in as the player approaches them - there's no reason to fit the entire visible world into memory at any given time with all the bells and whistles when the player can only see a small part of it. The World Partition system is supposed to stream in the necessary bits piecemeal and allow for seamless play. Unfortunately, there are a lot of issues with it that are just not documented and/or not fixed yet. I personally ran into issues with navmesh generation (the map layer used for AI pathfinding) using the World Partition that I had to ask Epic about, and their engineers responded with "Thanks for finding this bug. We'll fix it eventually, likely not in the next patch."

Most of these issues will eventually get ironed out, documented, and/or fixed as they come to light. That's pretty normal for any major piece of technology - things improve and mature as more people use it and the dev team has the time and bandwidth to fix bugs, document things better, and add quality of life features. Because this tech is still fairly new, all of the expected bleeding edge problems are showing up. You're seeing those results - the games that are forced to use the new less-tested systems are uncovering the issues (performance, bugs, missing functionality, etc.) as they go. Epic is making fixes and improvements, but us third-party game devs must still ship our games and this kind of issue is par for the course.

[Join us on Discord] and/or [Support us on Patreon]

Got a burning question you want answered?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *