For the last several days, I’ve been trying to get a basic automated build system going. Here is the list of problems I’m having with UnrealFrontend (UF) along with the small analysis that I have had the energy to capture. Note that all of this is done using binary 4.5.1 engine and a stock 1st person shooter c++ template.
If I have any willpower left tomorrow, I might start digging further and pop open the source to UF and see where these build commands get generated. It’s sad that this is so fubar’d out of the box. Does anyone else use this?
Problem 1. UnrealFrontend Only Builds 2/5 Configurations
[table=“width: 500, class: grid”]
**Build Type** **Result** Debug Failed: Can't link non-existent UE4Game-Redist-Launch-Win64-Debug.lib DebugGame Success Development Success Shipping Failed: Can't link non-existent UE4Game-Redist-Launch-Win64-Shipping.lib Test Failed: Can't link non-existent UE4Game-Redist-Launch-Win64-Test.lib
I noticed that UF invocations of RunUAT.bat force -platform=Win64. This combined with these 64-bit libs simply not existing in the binary engine distribution probably explains the issue. The 32-bit versions of those libs do exist.
Problem 2. UnrealFrontend Can’t Cook
Here I can show you the UE4Editor-Cmd.exe invocations from a successful cook via the Editor vs unsuccessful cooks via UF.
Successful Cook (Editor):
C:\Program Files\Unreal Engine\4.5\Engine\Binaries\Win64\UE4Editor-Cmd.exe D:\UnrealProjects\BuildTest\BuildTest.uproject -run=Cook -MapIniSection=AllMaps -CookCultures=en -TargetPlatform=WindowsNoEditor -buildmachine -Unversioned -fileopenlog -debug -abslog="C:\Users\error454\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Unreal+Engine+4.5\Cook.txt" -stdout -FORCELOGFLUSH -CrashForUAT -unattended -AllowStdOutLogVerbosity
Failed Cook (UF):
C:\Program Files\Unreal Engine\4.5\Engine\Binaries\Win64\UE4Editor-Cmd.exe D:\UnrealProjects\BuildTest\BuildTest.uproject -run=Cook -Map=/Engine/Maps/Entry -CookCultures=en -TargetPlatform=WindowsNoEditor -buildmachine -Unversioned -fileopenlog -abslog="C:\Program Files\Unreal Engine\4.5\Engine\Programs\AutomationTool\Saved\Logs\Cook.txt" -stdout -FORCELOGFLUSH -CrashForUAT -unattended
The failed cook error message is as classy as it is nebulous, BuildTest is the name of my project:
LogModuleManager:Warning: ModuleManager: Unable to load module 'BuildTest' because the file 'C:/Program Files/Unreal Engine/4.5/Engine/Binaries/Win64/' was not found. The game module 'BuildTest' could not be found. Please ensure that this module exists and that it is compiled.
The successful cook contains the -debug flag. Adding this to the failed cook invocation results in a successful cook, but what does it do? The other primary difference is the map invocation, but from my testing this parameter is of no consequence.
The error message seems to indicate that a folder is a file, so it’s hard to trust what it’s trying to tell me. It seems to be unable to find a module, isn’t that what we just built in the Build Game step?
Problem 3. UnrealFrontend Ignores Additional Cooker Options Dialog
Adding additional parameters to the Additional Cooker Options dialog box in UF has no effect on the command line invocation of UE4Editor-Cmd.
An unfortunate end to a possible temporary workaround for problem 2. Simply broken.