Two weeks ago our team of Samurais took part in the Unreal Fest in Prague. This was the first offline event in Europe after the pandemic and our first time on-site.
Epic Games organize this event for Unreal Devs giving us the opportunity to talk to the creators of the Engine and its ecosystem. We met many cool people from Epic and gained cool insights into UE features, UEFN, Fab, EOS, and RealityScan.
We also met some fellow Developers and Artists from other UE studios during the mixers every day after sessions.
And the sessions were gold. Most of them were hosted by Epic Evangelists and Devs, and they knew how to share the knowledge. We learned so many useful tips about features we didn’t know existed or we forgot about. Here we share some notes…
Setting up a UE studio the Epic way
In this talk Ari Arnbjörnsson, Evangelist and showman 😀, showed us the production workflow for Unreal Engine at Epic Games. They have hundreds of programmers constantly pushing changes to the repo. Everything needs to be tested on all platforms before each release. They use Perforce with a set of custom programs for automatization, like UnrealGameSync for synchronizing workspaces, Horde for telemetry and Dev Kits management, and RoboMerge for merging changes.
Check out the Ari’s complete guide here.
Open World with 4000 strangers
Arran Langmead talked about the challenges his team encountered during Project Titan – a 2-month-long Art Jam, where nearly 4 thousand people built a virtual world.
With such a big community, repo management is crucial. They uploaded the Engine’s DDC to the cloud to save people from waiting hours until it’s generated locally. It was the largest cost of a Perforce server held on AWS.
They also introduced an auto-revert for checkouts to solve the problem of people locking assets and then disappearing.
Before the Jam, they prepared comprehensive documentation about the collaborative workflow for joiners, but they realized quickly that nobody reads it. They decided to switch to video tutorials and that worked much better.
Stay tuned as a similar project may happen in the future!
I wish to learn this sooner
Alex Coulombe, a co-host of the Unofficial UE Podcast and #UETips follower, gave a presentation about small UE features that could make your life easier.
One such feature is XForm in the Modelling Mode which allows you to relocate the Mesh pivot inside the Editor.
Another one is gameplay and Editor streaming between two PCs via Pixel Streaming plugin as well as camera piloting through smartphone using Vistual Camera. You could even control your Editor remotely via Remote Control API.
Alex was also very kind to share his slides.
Artist Guide to Nanite Tessellation
In this talk, Arran gave us some insights on how to use Nanite properly. The basic part was to give Nanite enough vertices to work with. The algorithm is really good at merging chunks of vertices together, but if there are not enough of them, it doesn’t have any area to operate it. That’s why we could see LOD-like artifacts when zooming out. Just give vertices to the Nanite – it can handle that.
We should use Nanite Displacement for heavy Meshes, especially when they are copied a couple of times. Nanite can generate a pretty good approximation even if working on an optimized Mesh. The important thing here is that displaced Nanite Mesh doesn’t scale that well with distance like the full Mesh (chunks stay small when zooming out).
Also, when displacing Meshes with Nanite, don’t make hard edges (i.e. edge of the fence). This can lead to visible cracks at the junction of two Meshes as Nanite extrudes vertices using their normals. Use rounded edges to give Nanite more information on where to extrude.
AAA Mobile Games with UE
Arvind Neelakatan shared some useful knowledge about mobile development. Most noticeable was the Android Game Development Extension for Visual Studio. This allows you to debug your game live from your phone in VS. You can also track Blueprint bugs this way since the debugger will pause in the intermediate file with the same name as the BP class.
Another tool is Arm Mali Offline Material Compiler which you can attach to the Editor. This allows you to generate a proper mobile preview on many virtual devices.
Arvind also showed us how to make the mobile build smaller. A handy tool for that is UnrealPak.exe which we can use to unpack the .apk and see what is inside. We can add new rules to DefaultPakFileRules.ini to instruct the Engine what should be packed and what should not.
State Tree Deep Dive
Mikko Mononen walked us through the State Tree documentation. And there were some upcoming ST features announced.
An Introduction to Mover Plugin
Justin Hare from Epic Games talked us through the current state of the brand-new movement component with network bells and whistles called “Mover Plugin”. It may not have a flashy name, but its features should make everyone trying to develop anything remotely multiplayer at least a bit excited (to be honest, it should make everyone very excited).
Unfeatured Features of Unreal Engine
Epic’s own Chris Murphy presented a metric ton of useful Unreal features that are not so widely known. Some of the highlights contain:
- Environment Light Mixer
- Cubegrids
- Draw Spline
- Landmass Erosion
- Texture Variation node
- Property coloration – RCtrl + Click on property in Editor
- Local Exposure
- Location Volume
- Perforce integration – uncontrolled changelists / review changelist / diff everything
- Custom validation – data validation plugin
- Nanite displacement – CVar + nanite landscapes
- Nanite splines + spline mesh actor
- Pixel programmable visualisation
- Assemblies -> level instances [+filter]
- PCG: PCG data asset, subgraphs with discarded points, hierarchical generation, biome plugin
- Geometry Script
- Toolbox plugin
- Procedural audio on Soundscape plugin + Gameplay Tags
- Niagara data channels
- PR Mat chain plugin
- Slate post buffer
- Physics control component
- Cheat manager
- Localization Leet mode!
Extending the Editor
Angel Flores from Tanglewood Games showed a wide range of possibilities to extend Unreal Engine functionality using already existing components. There was something for everyone, from the simplest, yet powerful, blueprint editor and level scripted actions, through slate notifications, to custom data panels with custom assets and component visualizations.
Performance Budgeting in a Post-Polycount World
Steve Walker took us through a high-level view of performance budgeting in contemporary production environments. The bad news is that nowadays the answer to performance questions is “It depends”. The good news is there are people who know how to manage the chaos that today’s pipelines generate.
Best of All Worlds: Designing and Implementing Your Game’s AI Architecture in Unreal Engine.
Maciej Suliński from 11bit Studios showed how elegant, and what’s more important, effective certain solutions can be in designing AI Architecture. We got a sneak peak of their upcoming project’s AI system structure and it was a blast to soak in all that knowledge.
We look forward to another Epic event but for now, let’s use this knowledge to make something unreal!