An Engine plugin with the Program module type and EnabledByDefault set to true can cause the Engine to fail to build successfully due to UHT failing. I was only able to reproduce this behavior using the attached plugin. Attempting to reproduce using a plugin that I had created was unsuccessful.

Steps to Reproduce
  1. Add the attached plugin to the Engine/Plugins folder.
  2. Run GenerateProjectFiles.bat.
  3. Open the UE4 solution in Visual Studio.
  4. Build (not Rebuild) the UE4 project for the Development Editor configuration.
  5. Open the .uplugin file for the plugin in step 1.
  6. Change the Module type to "Program".
  7. Make a minor modification to a build file (eg. Add a new comment line to UdpMessaging.Build.cs).
  8. Build (not Rebuild) the UE4 project for the Development Editor configuration.

The build fails with the following messages:

2>LogModuleManager : warning : No filename provided for module WGTestPlug
2>LogModuleManager : warning : ModuleManager: Unable to load module 'WGTestPlug' because the file 'D:/Source/UnrealEngine-4.18.3-release/Engine/Binaries/Win64/' was not found.
2>LogCompile : error : Failed to initialize the engine (PreInit failed).
2>EXEC : error : UnrealHeaderTool failed for target 'UE4Editor' (platform: Win64, module info: D:\Source\UnrealEngine-4.18.3-release\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor.uhtmanifest, exit code: CrashOrAssert (3)).

The build completes successfully.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-55228 in the post.

Login to Vote

Won't Fix
ComponentUE - Foundation - Core
Affects Versions4.18.34.20
CreatedFeb 15, 2018
ResolvedAug 9, 2021
UpdatedMar 24, 2022