Hey all. I’ve been struggling getting Unreal 5.5.1 to compile any c++ code on one of my machines (but not the other, go figure). Not sure whether it’s relevant, but the problem machine is running Windows 11, and the one that works is running Windows 10. I struggled finding any relevant information, so I figured I’d post the solution I eventually settled on.
The problem: for any Unreal 5.5.1 c++ project, whether preexisting or newly created, I would get the following error output when I tried to compile:
The project could not be compiled. Would you like to open it in Visual Studio?
Running F:/games/Epic Games/UE_5.5/Engine/Build/BatchFiles/Build.bat Development Win64 -Project="C:/Users/floyd/Documents/Unreal Projects/MyProject/MyProject.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE
Using bundled DotNet SDK version: 8.0.300
Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" Development Win64 -Project="C:/Users/floyd/Documents/Unreal Projects/MyProject/MyProject.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE
Log file: C:\Users\floyd\AppData\Local\UnrealBuildTool\Log.txt
Creating makefile for MyProjectEditor (no existing makefile)
@progress push 5%
Parsing headers for MyProjectEditor
Running Internal UnrealHeaderTool "C:\Users\floyd\Documents\Unreal Projects\MyProject\MyProject.uproject" "C:\Users\floyd\Documents\Unreal Projects\MyProject\Intermediate\Build\Win64\MyProjectEditor\Development\MyProjectEditor.uhtmanifest" -WarningsAsErrors -installed
Total of 0 written
Reflection code generated for MyProjectEditor in 1.4363528 seconds
@progress pop
Building MyProjectEditor...
Using Visual Studio 2022 14.38.33144 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Determining max actions to execute in parallel (6 physical cores, 12 logical cores)
Executing up to 6 processes, one per physical core
Requested 1.5 GB memory per action, 8.3 GB available: limiting max parallel actions to 5
Using Unreal Build Accelerator local executor to run 7 action(s)
Storage capacity 40Gb
---- Starting trace: 250122_132457 ----
UbaSessionServer - Disable remote execution (remote sessions will finish current processes)
------ Building 7 action(s) started ------
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Repeat 2 times:
--------------------------------
at EpicGames.UBA.SessionServerImpl.SessionServer_RunProcess(IntPtr, IntPtr, Boolean, Boolean)
--------------------------------
at EpicGames.UBA.SessionServerImpl.RunProcess(EpicGames.UBA.ProcessStartInfo, Boolean, ExitedEventHandler, Boolean)
at UnrealBuildTool.UBAExecutor+<>c__DisplayClass62_0.<RunActionLocal>b__0()
at UnrealBuildTool.ImmediateActionQueue+<>c__DisplayClass60_0.<TryStartOneAction>b__0()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread)
Things I tried:
- full memory test with memtest86
- checked each of my hard drives and SSDs for errors
- reinstalled 5.5.1
- updated graphics card drivers
- updated windows
- updated my installed visual studio components
I finally decided to check out the release notes for 5.5.1 to see what had changed, because 5.4.4 wasn’t having any issues. I found this: UBA C++ and Shader Compilation, which says, “UBA is production ready for Windows host build machines. Unreal Build Accelerator (UBA) is a local and distributed compilation solution for C++ and Shader Compilation used in conjunction with Unreal Build Tool…”
I noticed that the error output I posted above mentioned UBA, so I looked for a way to disable it to rule it out and found this: Disable UbaSessionServer (UBA).
I made the recommended changes to AppData\Roaming\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml
:
<BuildConfiguration>
<bAllowUBAExecutor>false</bAllowUBAExecutor>
<bAllowUBALocalExecutor>false</bAllowUBALocalExecutor>
</BuildConfiguration>
And now I’m back up and running again. No idea why UBA is choking on this machine, but I’m not going to miss it given I didn’t even have it until now. Hope this helps someone else out there!