Unreal Engine 4.20 Preview


Preview 1 of the upcoming 4.20 release is available now on the Launcher and GitHub. We are making this Preview available so that our developer community can try our new features and help us catch issues before the final release. As fixes are implemented, we will release updated previews throughout the development cycle.

Please be aware that preview releases are not fully quality tested, that they are still under heavy active development, and that they should be considered as unstable until the final release. Developers should not convert their projects for active development on preview releases. Please test on copies of your project instead.

Links to known and fixed issues for this release are provided below. If you discover any additional issues with this preview release, please report them using the guidelines in the link: How to Report a Bug.

Known & Fixed Issues

4.20 Preview Summary

This list provides a brief summary of updates in this Preview which may benefit from additional testing. Not all updates may be listed. Full release notes will be made available with the final 4.20 release.

Rendering Updates:

  • Cinematic Depth of Field. We have a brand new implementation of Depth of Field to achieve cinematic quality. It is a replacement for Circle DoF method that is faster over most other Depth of Field methods, such as Bokeh and Circle DoF.

  • Digital Humans Improvements. A set of improvements targeted at both skin and eye rendering. Including dual lobe specular for skin, subsurface scattering for the eye material model and more.

  • Rectangular Area Lights. There is now support for a Rectangular Area Light type accessible from the Modes panel with other light types.

  • Currently only supports the Deferred Renderer.

  • Acts mostly like a Point Light, except it has a Source Width and a Source Height to control the area emitting light.

  • Static and Stationary mobility shadowing works like an area light source with Movable dynamic shadowing working more like a point light with no area currently.

Animation/Physics Updates:

  • ProxyLOD Improvements. The new proxy LOD tool has graduated from “Experimental” to “Early Access”: this tool can be used in a Level of Detail (LOD) system. This tool lets you replace a group of meshes with a single simplified mesh requiring only a single draw call. It’s most useful when viewing a detailed area such as a city or village from afar.

  • Improved Normal Control: Hard Edge Split Normal

  • Gap Filling

  • Shared SkeletalMesh LOD Setting. Implemented SkeletalMesh LOD Setting Asset that can be shared between SkeletalMeshes

  • Streaming GeomCache and Improved Alembic Importer (Experimental). Geometry cach has been completely rehauled.

  • Individual vertex animation frames are now compressed using an intra-frame codec based on Huffman encoding.

  • The Alembic importer has been changed to iteratively import frames rather than importing all frames in bulk.

  • Scripted Extensions for Actor and Content Browser Context Menu. The context menus for actors and content browser items can now be extended using Blutilities.

  • **Animation Retarget Manager. **Animation Retargeting Manager supports saving and loading of the mapping data.

  • RigidBody Anim Node Improvements.

  • **Clothing Tapered Capsule Collision. **Added support for tapered capsules to physics assets. Tapered capsules are only supported by clothing, not by rigid bodies

  • **Copy Vertex Colors To Clothing Param. **Added tool to copy SkeletalMesh vertex colors to any selected clothing parameter mask

Audio Updates:

  • Sub Audio Recording [New Audio Engine Only] Added the ability to record the engine output or any submix’s output to a .wav file or a soundwave asset.

Sequencer Updates:

  • Frame Accuracy. Sequencer now stores all internal time data as integers, allowing for robust support of frame-accuracy in situations where this is a necessity.
  • Media Track. Sequencer has a new track for playing media sources. It is like the audio track, but for movies.
  • Curve Editor/Evaluation. Weighted tangents are now supported on float curves. Sequencer now supports continuous euler angle changes when changing rotations.
  • **Anim Instance Control. **It is now possible to animate variables on anim instances through possessables, allowing direct control of anim blueprint variables, functions and other content.
  • Final Cut Pro 7 XML Import/Export. Sequencer movie scene data can now be exported to and imported from the Final Cut Pro 7 XML format. This can be use to roundtrip data to Adobe Premiere Pro and other editing software that supports FCP 7 XML.
  • Sequence Recorder Improvements.
  • Track Improvements. Tracks, Actors and Folders can now be reordered in Sequencer and UMG animations.

VR/AR Updates:

  • Mixed Reality Capture: Early Access. The early access Mixed Reality Capture support has three components: video input, calibration, and in-game compositing. We have a list of supported webcams and HDMI capture devices that enable you to pull real world green screened video into the Engine from a variety of sources. ‘
  • Instanced Stereo Rendering: Translucency Support. We’ve taken the improvements to the Instance Stereo Rendering (ISR) path that we made for Robo Recall, and improved them to work across a more robust set of features in the engine. 4.20 adds support for performing the translucency rendering pass using ISR, which can significantly reduce CPU cost on translucency-heavy scenes.

Networking Updates:

  • Replication Driver / Replication Graph (Experimental)

  • UReplicationDriver is a base class that can be used for implementing custom server replication logic.

  • UReplicationGraph is an implementation of UReplicationDriver that provides a replication system optimized for games with large actor and player counts.

  • **Steam Authentication **has been added.

Mobile Updates:

  • All of the mobile improvements and optimizations we’ve made for Fortnite on iOS and Android

  • Improved Android Debugging

  • Mobile Landscape Improvements

  • RHI Thread on Android

  • Occlusion Queries on Mobile

  • Software Occlusion Culling

  • Platform Material Stats

  • Improve Mobile Specular Lighting Model

Gameplay/Scripting Updates:

  • Blueprint Bookmarks (Experimental). The Blueprint Bookmarks provides the ability to create named Bookmarks in any function graph in the Blueprint editor.
  • **Blueprint Watch Window. **The Blueprint Watch Window is designed to speed up debugging by giving you access to the variables and nodes that you want to watch, even across multiple Blueprints

Editor & Tools Updates:

  • **Niagara **is now available as Early Access. This means that we are far enough along in development that we want to share it with our customers and get as much feedback as possible before it becomes a standard engine .

  • Redesigned User Interface

  • **New Modules. **All of Niagara’s modules have been updated or rewritten to support commonly used behaviors in building for games.

  • GPU Simulation. We now have GPU simulation working on DX11, PS4, Xbox One, OpenGL, and Metal. Vulkan and Switch are currently not supported.

  • CPU Simulation & Compilation. CPU simulation should work properly for PC/PS4/Xbox One/OpenGL (ES3.1)/Metal. Vulkan and Switch are currently not supported.

  • UMG Savezone. The Screen Size you select in UMG and Play-In-Editor (PIE) settings are now linked with Device Profiles which also takes into account the Mobile Content Scale Factor, meaning that the final resolution and DPI scale will change based on the device screen size selected.

  • Material Gradient Curve. Materials can now use a Curve Atlas asset to store and access linear color curve data through Blueprint.

  • Slate Performance Improvements

  • **Mesh Description - New Mesh Format. **Unreal Engine 4 is moving to a new higher-level intermediate format which can represent any type of mesh asset in the engine. This is a gradual process that will improve workflow and enable us to provide some great new features, and we want to be completely transparent during this process.

  • Color Picker: Label Saved Colors. Colors saved in your Theme Bar or Theme Menu can now be labeled by right-clicking them.

  • **Content Browser: Recently Opened Filter. **There is a new filter option to list the most Recently Opened assets in the Content Browser. This filter lists the 20 most recently opened assets.

Core Updates:

  • Garbage Collection Improvements.
  • Visual Studio 2017. UE4 will now use the Visual Studio 2017 compiler, and generate project files for Visual Studio 2017 by default. We’ve also added support for the Windows 10 SDK.

REMEMBER: Please report any new bugs you find by following the How To Report a Bug Guide.
If you experience a crash, please make sure to always submit the crash report along with a description of your actions at the time.

Awesome stuff, will there be a stream to show off some of these new features?

Amazing, Epic !

A few questions:

Is it for desktop only or for mobile/comsole VR too?

Is it only for vanilla mobile? Would it work with mobile VR (GLES2 for Gear VR and Oculus Go) ?

Thanks beforehand

So from now on Visual Studio 2017 will be mandatory from 4.20 release onwards and Visual Studio 2015 can’t be used anymore? I still see a lot of serious bugs and stability issues on all major forums and not only the Microsoft ones about VS2017 and that worries me then because any VS bug/issue would add to any bug in UE4 itself and it could become a real nightmare. Not that VS2015 is perfect but it still is far more reliable.

Another update without Vulkan for PC nad Linux…which is on 2018 roadmap

what do you mean?


Any chance that this can be expanded upon? It’s currently very vague.

There it seems that they are referring to some new metadata format/language to create meshes both in editor and at runtime…

very cool… you are back on my Christmas card list :-)…

Sadly, all links to issues are incorrect :wink:

I’ve seen a lot of commits related to Vulkan in last months.
Keep in mind that Prevew notes often don’t include all of the important informations :wink:

Literally this turning me on :smiley:
thx Epic!

Vulkan is significantly improved in 4.20 and has equal or better performance than DX11, they just didn’t mention it in the summary.

There are problems with UHT in the preview build, either that or the formatting for build.cs files has changed again.

Module file for my project:

public class HTGame : ModuleRules
    public HTGame(ReadOnlyTargetRules ROTargetRules) : base(ROTargetRules)
            PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
            bEnforceIWYU = true;

                PublicIncludePaths.AddRange(new string] { "HT_Game/Public" });
            PrivateIncludePaths.AddRange(new string] { "HT_Game/Private" });

Output window:

1>E:\P4\JBaxter_Work\HTGame\HTGame\Source\HTGame\HTGame.Build.cs : warning : Referenced directory 'E:\P4\JBaxter_Work\HTGame\HTGame\Source\HT_Game\Public' does not exist.
1>E:\P4\JBaxter_Work\HTGame\HTGame\Source\HTGame\HTGame.Build.cs : warning : Referenced directory 'E:\P4\JBaxter_Work\HTGame\HTGame\Source\HT_Game\Private' does not exist.

The directory definitely does exist - what’s the problem here?

Edit: Looks like this is no longer needed so I’ve just removed all the IncludePaths, everything seems to work fine so far…

Found a fair few issues with Niagara so far. Not really been able to use it at all.

Niagara Crashes as soon as you try to click the ‘+’ icon in the ‘Parameters’ window.

Niagara Parameter Collections have options which don’t have valid names:

Niagara System Editor doesn’t support Small Toolbar Icons:

4.20p1 still has huge memory leak and stuttering on a range of machines.

[quote=“Cheshire Dev, post:10, topic:111881”]

Sadly, all links to issues are incorrect :wink:

They’re all updated!!! :slight_smile:

This one worries me. I suspect it’s due to all the rendering changes in 4.19 for Temporal Upsampling etc…

Could it be this? Unreal Engine Issues and Bug Tracker (UE-58673)

Great update!

Where can we find these updates? Are there any new example files or dcoumentation on this we can test with?

Has backscatter or “transmission” finally been added to skin?

The was introduced somewhere between 4.18.2 and 4.19.0 inclusively.
That ticket has the same symptoms, but It is not restricted to UMaterialBillboardComponent only.

The best summary that can be given is as follows:

Range activities on certain combination of hardware and software cause progressively deteriorating hitching and memory leak, both in editor and shipping configuration cooks.

It’s baffling to see experienced cpp engine programmers somehow managed to introduce such massive memory leaks.