Skip to main content

Unreal Fest 2024 in Prague

··7 mins
Table of Contents

Last week, I attended Unreal Fest 2024 in Prague, Czechia, being sent there with an awesome crew by CD Projekt RED. Here’s my personal take on the event and summaries of the best talks.

The event spanned 3 days, from 9am to 5pm, after which you could attend an evening “mixer” (chat with snacks, light drinks). The last day concluded with a truly Epic party in a club :) Let’s begin with the some highlights:

  • Epic developers and evangelists were easy to reach. It was fantastic to have relaxed corridor chats, share daily experiences and challenges of working with Unreal, meet them in person, and learn about their backgrounds before joining Epic.
  • Great organization and a useful mobile app
  • Dev room. Epic’s developers were available for questions, in a room equipped with PCs + Unreal Engine
  • 1.5-hour midday breaks. Perfect for catching up with new colleagues and old friends
  • Similarly, 15-minute breaks between talks. The short breaks ensured there was no rush between sessions
  • So many awesome chats. We share similar problems daily, in that industry, you know? The common engine helps to discuss that in detailed, practical terms. Plus fame and glory. So many of you stopped to thank for Tech Art Aid, even Epic devs were kinda in shock 🤣 Thanks a bunch!

Epic will share many of the talks later on the upcoming weeks on their YouTube channel. Search for Unreal Fest Prague 2024.


Extending the Editor
#

My favourite talk of 2024’s Unreal Fest Prague 💎

Angel Flores (LinkedIn) from Tanglewood gave a wide overview of extending Unreal Engine’s Editor via C++. From gizmos and Scripted Actions, through making a custom Details panel, to building your own mesh editor, everything was covered.

He was also generous enough to share the slides, with full code snippets for each concept. If you work with C++ in Unreal, make sure to check them out –> Google Drive

One of the best things in that presentation were the “Key classes” notes. They featured in the bottom-left corner of each main slide, as a quick reference. That idea fits the spirit of the entire talk. It was packed with content and fast, in-the-nutshell, to get you started ASAP.


Exploring the Next-Generation Animation Tools in UE 5.4
#

Chase Cooper from Epic Games (LinkedIn) showcased the new ways to animate directly in Unreal Engine 5.4, particularly the advancements around Control Rig.I’m not experienced in animation but I like the concept of modular rigs (e.g. a limb) that you can simply drag-and-drop onto a character.

I especially loved the example of building a custom rig for a Rubik’s Cube :)


Dev Iteration: How to Improve Developer Efficiency in Unreal 5.4
#

This session by Mark Lintott (LinkedIn) covered a range of tools for enhancing daily productivity in Unreal Engine. It’s now an important focus for Epic to streamline the development process and boost efficiency.

  • Multi-Process Cooking: Utilizes multiple CPU cores to speed up the cooking process. Four processes are recommended due to diminishing returns.
  • Virtual Assets: Downloads only the assets and dependencies you want to open in the Content Browser.
  • Unreal Build Accelerator: Reduces build times by reusing build data between machines. Version 5.5 adds a relay mode for remote work and distributed shader compilation, with support for MacOS and Linux.
  • Zen Loader in Editor: Opens the door for async loading in the future.
  • Editor Iteration Improvements: Achieved a 44% reduction in boot time for Play in Editor.

The Studio Telemetry plugin was explained in detail “There are developers in your studio suffering in silence.” 😳

The plugin tracks and graphs various aspects of UE behavior on users’ machines. It works with systems like Grafana and Graylog. Ideally though, you’ll pair it with Unreal Horde Analytics, for a comprehensive timeline view and bar charts.

Efficient play-on-target is a goal for Epic, with the local Zen server removing the need for copying and streaming straight to the target, adding a bit of I/O slowdown but fine for most daily tasks.


Optimizing UE5: Advanced Rendering, Graphics Performance, and Memory Management
#

Matt Oztalay from Epic Games (LinkedIn, see past talks on linktree ) gave a practical session focused on Nanite, Lumen, and virtual textures, using a complex archviz scene with Nanite foliage.

Virtual textures
#

Virtualization means loading only what you need (sparse structures), at the fidelity you need it in. The biggest takeaway: Set virtual texture memory pools correctly. Go to Project Settings -> Virtual texture pool and tweak them to avoid blurry textures or wasted memory.

Using them is easy. Content Browser -> right-click on many textures -> Convert to Virtual Texture. Oskar’s note: Remember to select a minimum size in the dropdown. 128 is the lowest that makes sense, while 256-512 is probably what you want. It also find and converts dependent materials’ texture param types 🤍

Virtual Texture Stacks are UV coordinates, in a material, that are identical for many texture samplers. It’s important from the performance point of view that you reuse the same UVs as much as possible. (In the material editor, connect the same UV result to many texture samplers).

Use Tools -> Render Resource Viewer to easily debug megabytes commited per asset.

Nanite
#

Nanite’s Overdraw view mode takes occlusion into consideration. It makes it a valuable tool for debugging to ensure that objects occlude as expected.

Occlusion and Clusters. Occlusion in Nanite happens by clusters, which means it’s essential to ensure that the geometry of your meshes is uniformly dense. Avoid long, thin triangles as they cannot be divided into clusters properly. For Nanite, it is better to divide such elements into more uniform shapes, even if it results in a higher triangle count.

Material Rendering. Unreal Engine now uses compute shaders to render materials on Nanite meshes. This is seamless and invisible from the user’s perspective. That change allows for more efficient handling of multiple materials in a scene. This was detailed in a GDC 2024 talk.

This change allows for better variable-rate shading. However, using DDX and DDY in materials breaks that optimization, so be cautious! Use r.Nanite.Visualize.Advanced 1 to detect such issues.

Profiling. The nanitestats command shows you shading bins. If I understood correctly, it’s a similar thing to draw calls in the classic rasterization.

Lumen
#

Lumen Performance Overview view mode visualizes the cost of reflections per pixel. The cost is dynamic, depending on surface roughness. Adjust the MaxRoughnessToTrace CVar for optimization, with a separate CVar for foliage (r.Lumen.Reflections.MaxRoughnessToTraceForFoliage).

Virtual Shadow Maps
#

Since 5.4, the WPO Disable Distance is evaluated per each clip level. Previously it was fixed per-object pivot. Currently, if you have long shadows (e.g. dawn or dusk), it will stop evaluating the far-distance parts of the shadow 💚

A new visualization mode shows Nanite overdraw from the directional light’s shadow map perspective.


How Small Open Doors Can Lead to Better CPU Utilization and Bigger Games
#

Jaroslaw Rudzki from CD Projekt RED (LinkedIn) shared how CD Projekt has significantly contributed to the development of Unreal Engine. Drawing on years of experience with efficient open-world streaming and new R&D, CDP introduced an alternative streaming system.

There was also joint effort with Epic towards “decoupling”. That term means addressing the GameThread bottleneck by breaking up the monolithic UActor and its world attachment process. Many of these enhancements were included into the official UE 5.4 release.


Praha
#

I also wholeheartedly recommend the city itself - Prague, in Czechia - where the event took place. It’s like a town from a fantasy jRPG, just with way more likeable characters!

It was my 3rd visit to Prague, so let me recommend some places:

  1. U Krále Brabantského - a medieval tavern, on the way to the Castle. It’s lit with candles, with just a single small window. Shields, furs and an… interesting ceiling ☠ Their have their own beer, great one (simply ask for a dark beer)
  2. Railway museum - breathtaking dioramas of railway and roads, car miniatures. I took dozens of photos
  3. Museum of music and instruments (a baroque jukebox!)
  4. National Technical Museum
  5. Mucha Museum - Art Noveau. A small, quiet gallery. All the important works are there

I hope you enjoyed the notes. If you have any questions, let’s discuss on Discord

Cheers to the CDP crew, Jose, Arek, Matthijs, Huw, Will, Łukasz, Stéphane, Francisco, 11bit Studios (Mikołaj, Radek, Mersad, Mikhail, Michał, Kuba), Emilian, Elias, Marek, Bartek, Jonathan and Arthur.

See you on the next one in 2025:) Oskar