The Big Switch: Why We Chose to Move to Unreal Engine 5
Not only we have revamped our studio’s brand but have also decided to develop our upcoming game using Unreal Engine 5.
While it may seem obvious that adopting new technologies is essential, it is not without its challenges, especially for those who are pioneers in the field. Despite this, we want to be among the first to use this engine for several reasons, which we would like to cover in this piece.
We asked Oleksandr Plichko, our Lead Programmer, to share the most fascinating details about switching from UE4 to UE5. His experience might come in handy to anyone who works in game dev and entertain gaming enthusiasts who stay updated on the newest technological advancements.
Reason 1: Impressive Lighting Evolution
Lumen dynamic lighting system absolutely blows our minds. It is a dynamic global illumination and reflection system developed for next-gen consoles. It helps us render diffuse interreflection with infinite bounces and indirect specular reflections. Moreover, all this is in detailed, large-scale environments spanning from millimeters to kilometers.
In the past, using static lightmaps in Unreal Engine 4 posed several challenges for us. We even tried to adapt them to our requirements, but it turned out to be very difficult, and the result was far from ideal. Lumen system has solved these issues for us.
Reason 2: Efficient Game World Streaming System
Previously, we had to manually split maps into smaller sections and use a level streaming system to load and unload them as players explored the world. This method often made it challenging to view the entire world as a whole.
Fortunately, UE5’s World Partition system offers a solution for managing large worlds. This system eliminates the need to divide large levels into smaller sections, allowing us to store the world in a single persistent level separated into grid cells.
With this technology, our game designers can work on a very large location simultaneously, without having version conflicts in changed assets.
Reason 3: Top-Notch Visual Rendering
Another thing we’re inspired by is Nanite which enables the efficient rendering of high-poly models. This virtualized geometry system was introduced specifically in UE5. It utilizes a new internal mesh format and rendering technology to achieve detailed, high-resolution object rendering with a large number of objects. Interestingly, the data format of Nanite is highly compressed. It also supports fine-grained streaming, automatically adjusting the level of detail as required.
We believe that the tech progress here will affect 3D computer graphics in a very positive way.
Reason 4: It’s Simply Time for Growth
In this era of rapid technological advancements, it’s crucial to keep up with the latest trends and innovations. With each new system or technology, there comes an opportunity for progress and improvement. The support for old engines and outdated systems becomes not so active, leaving room for more advanced solutions.
We are not only fascinated by the possibilities offered by gaming worlds but also excited to explore the real world using modern tools. We can achieve incredible results by embracing the latest developments. As we move forward, we continue to seek out opportunities to grow.
Our Biggest Challenges
Not surprisingly, our transition from UE4 to UE5 wasn’t that smooth, especially given that this system was brand new. So, before asking “When will your next project be live?” please read this story. We really want to bring this moment closer but also have to deal with all the difficulties to craft an enjoyable and good-looking world.
- We changed the engine code a lot, and EpicGames changed it continuously either. It turned out to be difficult to merge. We got conflicts in hundreds of files, sometimes some of them were deleted, moved, or renamed.
Thus, we decided to take a completely clean version of the engine and act step-by-step. With each next iteration, we decided whether we still needed some changes. It took us around a couple of months, but we finally solved this problem.
- The second difficult task was the transition of our already-created game location to the new system. In UE4, we used the WorldComposition system. Our game world was divided into separate locations (levels), which were streamed to the main level.Yet, to fully move to UE5, we had to convert our level into the new WorldPartition system. At the same time, we wanted to preserve the belonging of the game objects in their assigned locations. It was not a piece of cake, but we are happy to deal with that.
- Before switching to UE5, we used a special feature for rendering the HUD geometry in a custom angle of view (FOV). For example, hands and objects held in them changed their look when the camera moved. We used a modified transformation matrix for rendering these graphics.One of the UE5 highlights was an ultimate change to the render pipeline. They removed the ability to modify the translation in the matrix. We had to implement this mechanic on the vertex offsets in the shaders.
- As for the last major challenge for our team, it was a long transition to MetaHuman, which is still in progress. UE5 technology implies a completely different skeleton for animated characters. So, it took us a handful of time to retarget all our animations.We are still tweaking the animations, as some retargeted ones still look weird due to the significant differences between the skeletons.
The Bottom Line
As you can see, much has been done and changed, the evolution and development are going on, and our work is still in progress. We are keeping the announcement date a secret, but rest assured that our team is hard at work to create something amazing.
UE5 offers numerous advantages that we believe will result in an outstanding final product. To not miss breaking news from our studio, subscribe to our socials and stay tuned for updates, as there is much more to come!