Upcoming Features of Unreal Engine 5.1
Numerous improvements in Lumen, Audio, Animation, World Building and other subsystems
Next iteration of Unreal Engine, version 5.1 has been under development for some time, and should be released in the near future. This time I will go through briefly what kind of improvements and additions we can expect to see in it.
Blueprints and Editor
There will be two rather significant features coming to Blueprints and UE programming. Blueprint Namespace will bring Blueprint programming closer to other programming languages, aiding in organization and categorization of Blueprints. This is a wellcoming addition for developers who already are familiar with advanced programming concepts from other modern high-level programming languages.
On the other hand, I have noticed that many developers do not seem to understand how many advanced features there are already in Blueprints, so it is possible that this too will go mostly unnoticed. I think that it is a shame how undervalued Blueprints often are - I have encountered several developers who have this "elitist" attitude, and do not want to touch Blueprints, because they "are not really programming, they are just spaghetti code", or "you cannot do serious game programming with BPs". And then there are developers who enthusiastically use them, but only touch the surface of what Blueprints are capable of.
In addition to namespaces, there will be Blueprint Header Preview, which is a tool that helps developers to nativize their Blueprints to C++. This should come handy, now that the old Blueprint Nativization tool (in UE4) is removed.
Reference Viewer has been one tool that definitely needs improvement, and in 5.1 there will be some enhancements. You will be able to adjust depth of referencies and dependencies independently, which is great. You will be able filter by asset type, and view duplicated references. Similarly Content Browser features will be expanded in 5.1, especially for searching and filtering. Vertical filter layout will be enabled as a default view, but you can switch back to old view, if you want. You will have a history of last of few searches. You will be able to save a search as a filter. Big change is that all filter-related settings will be saved per user instead of per project.
There are a few UMG improvements and developments, and one of them should be used with caution. Named Slot will be a new feature, which should improve reusability of UserWidget template. Content of Names Slot is populated by the widgets that extend the template. Named Slot is quite safe to use, but UMG Viewmodel is a different thing. It still Beta feature, and besides that it also imposes the MVVM pattern on Widget and UI development. This Model-View-Viewmodel pattern allows designers to work independently from programmers - meaning that designer may do structural changes to Widget without code changes.
Python type hinting is added in 5.1. Perhaps this is not a world shattering news, but it allows to create self-describing code, and hopefully decrease the number of bugs because autocomplete improves as a result.
Game Framework
Enhanced Input was introduced in 4.27, and it should be production ready in 5.1. This is good news since the old Input System was sometimes really cumbersome to use. Modular Gameplay Effects should be production ready in 5.1.
Smart Objects will become production ready in 5.1. They have been available already as beta feature, so there is nothing new as such. Smart Objects are part of gameplay logic and mechanics, since they can encapsulate information about interactions, and trigger behaviors for either player or AI agents.
Another important new feature, StateTree, will be production ready in 5.1 There will be improvements in usability, and expanding it use cases outside of AU context. StateTree is scalable general-purpose state machine with decision tree features, thus mixing two quite old AI paradigms. One advantage of StateTree is how it is compactly packed in memory.
We should see several improvements and optimizations in Replication and its performance, especially when using push model replication. This should allow faster processing of fully push-based replicated properties that change infrequently. Also, fully push-based replicated actor components and subobjects should have now more optimized processing available.
MassEntity is another feature that will be production ready in 5.1. Its major improvement is the automatic multithreaded execution of MassEntity processors, but there are some UX improvements and optimizations in the use of CPU and memory.
Geometry Tools
Geometry Tools and Modeling Mode will be mostly in Beta status, but there will be many improvements in this suite of tools to create and edit meshes within Unreal Engine. PolyEdit panel will get a facelift, which should improve UX, and other workflow improvements make snappier selection workflow.
UV Editor will get several improvements, but it not yet production ready. UDIM will be supported, allowing UV preview, edit and layout shells into UDIM. 3D preview will allow selection, and it will possible to do UV operations on current selection only.
Geometry Script plugin is in Beta status, but it will be extended with new functions like BakeTexture and BakeVertex, which allow baking source mesh details to target mesh. PolyPath allows easier generation of splines and poly-curves. Remeshing will be exposed with ApplyUniformRemesh. In addition to existing FGeometryScriptVectorList there will be FGeometryScriptScalarList, and it will be possible to read and set individual values in them, and a library of math operation functions for these lists.
World Building
This will be a big improvement… World Partition levels should have full support for used game feature plugins. What this means is that content associated with a plugin is automatically streamed through world streaming grid - including level instances and Data Layers.
Large World Coordinates Support will be in Beta in UE 5.1, but they should work within World Partition levels, minimap, navmesh and HLOD. There are other HLOD improvements, too. First of all, user should be able to view generated HLOD directly within editor, and user may use custom HLOD meshes. HLOD should also work for water in rendering and streaming, and this will be optimized for better performance and smaller memory footprint, enabling large water bodies.
Data Layers will be standalone assets in 5.1, and they can be referenced across worlds, level instances and game feature plugins. Data Layer instances control default states for each context the Data Layer asset is used in. You will be able to use new Actor Editor Context to associate new actors to specific Scene Outliner folder and Data Layer.
Source Control Integration gets quite interesting overhaul in 5.1. It will have a new Content Browser-like UI. Change lists will be in a separate panel with folder-like structure, where you can filter and operate files contained within change list. This is just one of the improvements which show that in the big picture Epic Games seems to have a long term goal to contain all development tasks within editor itself. I would not be surprised if one day even C++ programming will be handled in UE Editor. That would get my vote.
Virtual Assets is another Beta feature which should make development pipelines a bit faster or smoother. In this case assets are virtualized - meaning that most of the time only core asset metadata is synced between developers, while the rest of the bulk data is synced only when it is actually needed. This will make syncs faster, and even the unstructured bulk data is compressed using Oodle Data. In 5.1 this will support textures and audio assets, other asset types will get support later.
Those developers who have the important duties in optimization and bug hunting will be glad to know that Memory Insights will get constant updates. Additions in 5.1 include metadata for mem allocations, associating asset and class names with mem allocations, and there will be information about Top Source File and Callstack Size, and new grouping of path breakdown by asset and top source file.
Bookmark System should make project collaboration and organization easier, although it will be Beta so far. Bookmark is a set of state parameters for World Partition and Data Layers to specify location, camera position and orientation. Bookmarks are searchable in World Partition Editor, and this way user can load a level at appropriate location and view, continuing his work in there.
Audio
Whole audio concept has changed in Unreal Engine 5, and everything is transitioning to new, component-based Audio Gameplay Volumes, which provide more flexible, dynamic and movable audio environment. Individual audio behavior components can be added to each Volume, and developer can configure per-component basis how they behave when a listener enters or exits the Volume. In UE4 each Audio Volume's functionality was fixed at runtime.
New Audio Gameplay Volume has an API which enables the development and use of third-party plugins, which extend its functionality. Audio Gameplay Volumes also integrate with other Gameplay systems in UE, and share data with other Actors - they can be attached to any Actor in the Level. Audio Gameplay Volume can be a stand-alone Actor or a component in any Actor Blueprint. Custom collision checks provide a dynamic way to control what happens when a listener enters or exits the Volume.
Audio Parameter Modulation will be production ready in 5.1. It works like some modern synthesizers, where anything can be a modulation source, and anything can be a modulation destination. Parameters are available through a generic Parameter Bus, and you can define your own parameter groups. All this is fully integrated into MetaSounds, which replace Sound Cues used in UE4.
Wave Editor will be a new tool available in 5.1. Obviously it is a graphical tool to visualize and edit sound waves. It does not replace dedicated audio editor, but it provides basic functionalities like trimming, loudness normalization based on peak, RMS and D-weight. You can load audio, edit it, render source and submix effects, and export edited waveform to a new USoundWave asset.
Underscore is a new plugin that will provide a simple data-driven method to create interactive music, using music states. You can define the rules why and when transitions from one state to another happens, without any custom Blueprint scripts. Combine this with Soundscape, which can procedurally generate ambient sounds based on where listener moves, and you should have a truly dynamic audio system. Greatest benefit is that they decrease the amount of manual work and custom scripts, allowing designers to focus on quality of audio content.
All these audio features are augmented with several new Audio Nodes, which cover functions like increment and decrement, trigger thresholds, filters, granularity, noise, pitchshift and Wavetable.
Chaos Physics
Improvements in Chaos Physics seem to focus on one area - Chaos Cloth. There will be a new simulation parameter field and mask, Air Pressure. It will work in cloth simulation on two sides of cloth. Thus it is possible to create inflatable object and pillow, air balloons, puffy jackets etc. There will be documentation and tutorials which explain the intricacies of Chaos Character Physics.
Rendering
Lumen will get lots improvements and fixes, like reflections on Single Layer Water, and high-quality mirror reflections on translucent surfaces. It remains to be seen how costly they are in the terms of performance.
Each new feature makes me always think "Does this make games better? Is it just a visual or technological gimmick?". There have been lots of game engine features that (in my opinion) do not really improve the game mechanics or experience, but they get lots of hype. They can make things worse for development, because they may take lots of CPU and GPU power.
However, realistic reflections are an important feature, and they will improve game experience considerably because they can provide important information about the environment, and what is happening there.
There will be improved support for foliage, too. High scalability mode should see some performance optimization, and hopefully everyone benefits from this, although the focus seems to be achieving 60 FPS on consoles.
Vulkan users should note that there will be experimental Hardware Ray Tracing support. At this stage it seems to have Surface Cache lighting only, and will not (yet) support Hit Lighting.
One notable feature in 5.1 is On-Demand Shader Compilation (ODSC), which means hopefully lots of time savings for any developer. It literally means that only those shaders are compiled in the editor that are needed to render what is shown on the screen. Optionally this applies to platform development iteration, too. How much this may save time depends on project and tasks, and how often shaders are changed.
Path Tracing will get several essential improvements in 5.1, and it should support Single Layer Water and Decals, but most importantly it will support Exponential Height Fog and Sky Atmosphere Fog. Multi-GPU rendering should increase performance, depending on situation. In addition to all these, there will be support for per-instance custom data and light functions.
Improvements in Niagara features will be very general in 5.1, mostly UI, performance and quality. One notable feature is the GPU support for Ribbons.
Nanite development has a focus on long-term improvements, so in 5.1 there will mostly quality and performance improvements only, and some additional diagnostic and debug modes. There should be Nanite material switch in Material Editor.
There will be lots of quality and feature compliance improvements for GPU Lightmass. Denoiser results should be better at low light levels. Irradiance Cache and First Bounce Ray Guiding should work better, too. Other updates are e.g. stationary skylight and static IES light.
Characters and Animation
Animators will have new options to make characters livelier with character deformation, when Deformers will update to Beta in 5.1. You can create complex shapes and behaviors on skeletal meshes like bulging muscles, sliding skin. This would benefit especially cartoony style characters, where such things are usually exaggerated, but I am sure they will find lots of use in other styles too.
A long-term goal for Control Rig is to have fully procedural rigging, but the system is not there yet. However Procedural Control Rig Creation has several updates in 5.1. Construction Event and Custom User Events allow developers to generate rig hierarchies with graphs, and trigger rig events. There are polymorhic refactoring in some nodes, just like in many Blueprint nodes. This means that there is e.g. only a general node Add, which then adapts to input type. Developers will be able to attach Python workflows to pins, and automate setup.
Pose Warping and Motion Matching should provide interesting possibilities to fine-tune animations, especially in locomotion. Motion Matching will be experimental for the time being. New Pose Warping nodes will allow e.g. per-foot step warping, foot pinning and slope warping. Motion Matching is an advanced tool, similar to high-quality animations, with frame selection tools.
After all these recent additions - and future, too - the animation system in UE starts to get quite complex, and new debugging tools are necessary, like Rewind Debugger. Tool workflows will be improved with Graph tracks and Notify tracks, and how traces are handled.
Sequencer continues to improve in 5.1. Noteworthy additions are blendable Material Parameter tracks and dynamic Subsequence weighting. That is not all, since additional Sequencer functionality will be exposed for Blueprint and Python programming.
There are numerous other features improved or added in Unreal Engine 5.1, but my focus was on those features that have direct use in game development. How all these actually work, will be seen when 5.1 is available.