Unreal Engine 4.20 Released!

Click on the Plus sign next to engine versions. Select 4.20 for the new launcher item.

I found the WinX and WinY setting for each node :smiley: so it works under fullscreen mode to put in different monitors.
Just if I want to set lower the window size and put all the nodes on one screen for testing, still have no idea.

Tried the nDisplay XD It’s a great feature! Looking forward for the beta release :smiley: I’m trying it on one PC, and a problem currently is that it’s fullscreen by default, so if I have several monitors on one PC I have no idea how to move the different node screens to different monitors…

Not seeing a plus sign anywhere, or in the pulldown…see pic

You need to go to your library :slight_smile:

And apparently how to upload images. :slight_smile: Thanks Kvogler, for the assist

I can’t get this^ to do anything, following the instructions in the release notes.

  1. I enable the Editor Scripting Utilities plugin, restart the editor
  2. Make a blueprint of class ActorActionUtility (or AssetActionUtility)
  3. Make a function or event in it with Call In Editor = true
  4. Override the GetSupportedClass function (though it seems like thats optional)
  5. Right click on a supported actor (or asset) - nothing?

Am I misunderstanding “Context Menu”?

Error when building for iOS from Mac

UATHelper: Packaging (iOS): LogObj: Error: LoadConfig (/Script/Engine.Default__RendererSettings): import failed for bEnableAlphaChannelInPostProcessing in: False
PackagingResults: Error: LoadConfig (/Script/Engine.Default__RendererSettings): import failed for bEnableAlphaChannelInPostProcessing in: False


Thank you for the information. Please keep in mind that we are not taking bug reports through this forum. Please submit your bug report with as much information as you can provide using our Bug Submission Form.

So… apparently UHT is appending search paths instead of effectively “search” directories for include headers now.
Then we can omit any directory listed in PublicIncludePaths… But never omit any sub directory within them.

If a plugin’s directory path is added to PIP, for example:

PublicIncludePaths.Add( Path.Combine( ModuleDirectory, "Public" ) );

And we have a header within:

Path.Combine( ModuleDirectory, "Public/folderA/folderB" );

Now we have to specify the path in full below the ending directory of PIP (“Public/” in this case):

#include "**folderA/folderB/**MyHeader.h"

While previously we could just tell UHT to search for it within any PIP folders, like:

#include "MyHeader.h"

Fine, I think it’s fair and logic change… but annoying headache fix for soooo many #include directives I have to fix now =

I saw that mentioned a while ago in the commits, they were getting more include paths than some compilers could handle and decided to cut everything off at the Public folders to fix it

The problem is that if you place the engine source in a really deep path (C:\Development\GameEngines\UnrealEngine4\Latest\Engine…) then when compiler tries to compile source code, UBT will add all the include paths to a .response file used as input by the compiler. The max .response file for Windows (when compiling with symbol information) is 64K. Having the really long explicit path to all include folders in the .response file can easily cause it to exceed 64K in size. Having a shallow path (C:\UE4\Engine…) will prevent this, but not everyone has things set up that way. So now, instead of adding all sub-folders for a module/plugin to the .response file as an include path, UBT only adds “Classes” and “Public” folders and you have to modify the #include statement to specify the rest of the path to your .h file.

Ok, I am crazy or Niagara makes some basic stuff super time consuming? To create a simple particle with 3 emitter you need:

• Create a Niagara System
• Create 3 Niagara Emitters
• Add the 3 Niagara Emitters inside the Niagara System

And if I need to add 1 more Emitter I need create another emitter outside the Niagara System and Add it to the the System.

Add a way to create Emitter inside the Niagara System that go inside the Niagara System folder. Them you create a Niagara System and add 3 emitters inside the system.

In trying to step up to 4.20 from 4.19 we discovered that we can no longer use our custom online subsystem plugin due to changes made in how FUniqueNetIdRepl is serialized with the new encoding scheme.

When trying to connect client and server we are getting an “Error with encoded type hash” message. Digging into this we found a change in the FUniqueNetIdRepl::NetSerialize method that now uses new methods on the online subsystem utils class to convert a hash value to a subsystem FName however there is no way currently to inject a new subsystem to hash mapping for custom plugins.

Is this intended behavior, an oversight or are we missing something with how to add a new custom online subsystem plugin since the 4.20 change?



I’m game designer of a project made with the asset “Paragon: Minions” and it isn’t compatible with 4.20. The heroes assets are compatible, but we never planned to use them.

Would you recommend us to wait for a compatibility patch or stick with 4.19.2?

We just finished the presentation and send it to the Unreal Dev Grant, it’s a big issue for us! As you can see, we worked really hard the last 2 months and we had almost finished a prototype for Kickstarter:


What is wrong if new Feature on Opegl ES 3.1 , Hardware Occlusion? it seems it will hide quite easily everything a bit far from center of camera view, can we somehow control this? (Snapdragon 820) , Android Oreo .

EDIT : i will add that it seems that it occludes meshes based on their screen size, which its quite obvious when pitching up/down the camera while centered on the object…

it requires something to change so it behaves like pc ( or near as pc) or it is just bugged?

Seeing the same thing on my side.

Anyone have a workaround or fix for this?

After upgrading my projects from 4.19 to 4.20 the tick event has stopped working completely on all of my UMG widgets that have a C++ parent class, which is pretty much all of them. I made a quick test widget without a C++ parent class and the tick event worked fine in it. I tried playing with the new “Tick Frequency” setting on the widgets and got nothing. I tried deleting and re-adding the tick event and got nothing. I tried overriding the tick event in C++ and threw in a debug print on it and got nothing from the native tick either. Ive done the old delete the intermediate folder, rebuild, blah blah. Other things in the widgets like construct event, button clicks, etc work fine. Anyone else having this problem?

Ok so I made a c++ test UserWidget class to use as the parent for the test widget I made. As soon as the parent class is changed and the project recompiled the tick event stops firing. I guess its time to dig through engine code…I suspect it has to do with the new “Tick Frequency” setting. I posted as a bug report on answer hub.

Has anyone been able to package a Win32 plugin? I can’t get a blank Runtime blueprint function library to successfully package. The only warning I get has something to do with and there are no errors, but no binaries are generated.

UATHelper: Package Plugin Task (Windows): Running: C:\Program Files\Epic Games\UE_4.20\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Win32 Development -plugin=C:\Users\ABCUSER\Desktop\DoublePlugin\DoublePluginBuild	est420plugin\HostProject\Plugins	est420plugin	est420plugin.uplugin -iwyu -precompile -nosharedpch -noubtmakefiles -receipt=C:\Users\ABCUSER\Desktop\DoublePlugin\DoublePluginBuild	est420plugin\HostProject\Plugins	est420plugin\Binaries\Win32\ -NoHotReload -ignorejunk -log="C:\Program Files\Epic Games\UE_4.20\Engine\Programs\AutomationTool\Saved\Logs\UBT-UE4Game-Win32-Development.txt"
UATHelper: Package Plugin Task (Windows):   Using Visual Studio 2017 14.14.26428 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428) and Windows 10.0.16299.0 SDK (C:\Program Files (x86)\Windows Kits\10).
UATHelper: Package Plugin Task (Windows):   C:\Program Files\Epic Games\UE_4.20\Engine\Source\ThirdParty\Expat\Expat.Build.cs: warning: Referenced directory 'C:\Program Files\Epic Games\UE_4.20\Engine\Source\ThirdParty\Expat\expat-2.2.0\Win32\VS2015\Release' does not exist.
UATHelper: Package Plugin Task (Windows):   Parsing headers for UE4Game
UATHelper: Package Plugin Task (Windows):     Running UnrealHeaderTool UE4Game "C:\Program Files\Epic Games\UE_4.20\Engine\Intermediate\Build\Win32\UE4\Development\UE4Game.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -installed
UATHelper: Package Plugin Task (Windows):   Reflection code generated for UE4Game in 9.2018734 seconds

Hmm, on updating this Blueprint-only project to 4.20 from 4.19, I crash when trying to play my Persistent Level with this:

[2018.07.21-04.54.53:589][477]PIE: New page: PIE session: SGR_Persistent_001 (22 Jul 2018 12:54:53 am)
[2018.07.21-04.54.53:589][477]LogPlayLevel: Creating play world package: /Game/UEDPIE_0_SGR_Persistent_001
[2018.07.21-04.54.53:685][477]LogPlayLevel: PIE: StaticDuplicateObject took: (0.095888s)
[2018.07.21-04.54.53:686][477]LogAIModule: Creating AISystem for world SGR_Persistent_001
[2018.07.21-04.54.53:688][477]LogPlayLevel: PIE: World Init took: (0.003628s)
[2018.07.21-04.54.53:689][477]LogPlayLevel: PIE: Created PIE world by copying editor world from /Game/SGR_Persistent_001.SGR_Persistent_001 to /Game/UEDPIE_0_SGR_Persistent_001.SGR_Persistent_001 (0.099852s)
[2018.07.21-04.54.53:755][477]LogInit: XAudio2 using 'Speakers (Realtek High Definition Audio)' : 2 channels at 48 kHz using 32 bits per sample (channel mask 0x3)
[2018.07.21-04.54.53:780][477]LogInit: FAudioDevice initialized.
[2018.07.21-04.54.53:830][477]LogLoad: Game class is 'InFluxGameMode_C'
[2018.07.21-04.54.54:561][477]LogWindows: Windows GetLastError: The operation completed successfully. (0)
[2018.07.21-04.54.57:859][477]LogWindows: Error: === Critical error: ===
[2018.07.21-04.54.57:859][477]LogWindows: Error: 
[2018.07.21-04.54.57:859][477]LogWindows: Error: Fatal error: [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\RenderCore\Private\RenderResource.cpp] [Line: 128] 
[2018.07.21-04.54.57:859][477]LogWindows: Error: **A FRenderResource was deleted without being released first!**

Smaller levels work, and this project doesn’t do anything with render targets, which is all I get on googling this error.