Packaging a plugin in 4.20.2 fails

Hello,

I have a plugin that in the past I have distributed for engine versions 4.16, 4.17, and 4.18.

Nothing was different about the plugin in any of these builds but now in 4.20 I cannot get the packaging process to complete without an error.

I have no issue building the source of my plugin into an empty project (clicking build in visual studio results in 2 builds successful, one for the plugin and one for the empty host project.)

When I then open that project in the editor and try to package the plugin I get errors.

I have attached in a zip file:

  1. Two output logs from the packaging process.
  2. The .uplugin file that always worked in past engines
  3. the Build.cs file for the plugin that always worked in past engines.

Zip File

Update: The packaging works as is in 4.19.2 as well.

The log complains about missing includes ModuleManager.h in ArenaLiveAPI.h and EnumProperty.h in BlasterEnums.h. If it is guaranteed that these headers are present and thier include paths are properly set, have you already tried to do a clean rebuild?

I am under the impression that setting the include path is what I am missing. The header files in question are located with the engine.

In the past I’m pretty sure the include path was set correctly by adding the dependency module, “CoreUObject,” to the build.cs file for the plugin, but that is not working as it had in other engine versions. Rebuilds have not changed the outcome.

The fix was to find each include directive which referenced a file in UObject or Core and add parts of the path after “Public”

#include "EnumProperty.h"

becomes

#include "UObject/EnumProperty.h"