Unreal Engine for Windows on Arm64
Before you begin
All development work and work in the Unreal Editor must take place on a Windows x64 system.
The following instructions help users produce a project build that can run on a Windows 10 Arm device: 1. Follow the steps provided by Epic Games to gain access to the Unreal Engine source code on GitHub. 2. Follow instructions from the pull request for Unreal Engine 4.25 to create a custom build of the engine to add Arm for Windows 10 support. https://github.com/EpicGames/UnrealEngine/pull/6975 These instructions will become largely unnecessary once the pull request is accepted into the main engine project by Epic.
Visual Studio 2019
Desktop Development with C++
Universal Windows Platform Development Workload
.NET Framework 4.6.x
Visual C++ compilers and libraries for Arm and Arm64
Visual C++ Runtime for UWP
Windows 10 SDK 10.0.18362.0
Target Arm64 Windows 10 machine
Building Unreal Engine from source to enable Windows Arm cross-compile
To produce a UE4Editor-Debug.exe in EngineBinariesWin64to run for a project:
Clone the latest version of Unreal Engine 4.25 source from the 4.25 branch.
Incorporate changes from the Arm Support Pull Request.
Open UE4.sln in Visual Studio 2019.
In Solution Explorer, right-click UE4 and select Set as Startup Project.
Right-click UE4 > Properties.
From the Configuration list, select Active (Development).
Under Configuration Properties, click NMake and append “ -Architecture=arm64” to the following entries:
– Build Command Line
– Rebuild All Command Line
– Clean Command Line
Right-click UE4 in the Solution Explorer and select Build.
Open UE4 Game Project in the editor that was built in the previous section.
If the project was created in a different editor version, it is recommended to open a copy of the project.
To create a packaged build, go to File > Package Project > Windows (Snapdragon)
It is possible to remote debug with Visual Studio, as outlined in Microsoft Remote Debugging. The remote debugging tools for Visual Studio 2019 and the Arm64 platform must be installed on the engineering sample and started up.
An example remote debug configuration can be found at https://gyazo.com/a1218849ba30d13a839a90a42703d11b.
This build is optimized for the Microsoft SQ1 Arm processor, and available in the Surface Pro X tablet in particular. The thread affinity setup is optimized for the DX12 RHI on the SQ1 and takes advantage of the faster “big cores”. For more details, review the additions to Engine/Source/Runtime/Core/Public/Windows/WindowsPlatformAffinity.h.
Several third party libraries have been recompiled for Windows 10 Arm64 to support this work. This was often done outside of the Unreal Engine 4 source tree, using each library’s build system. Refer to the README-arm64.txt files for notes on how the libraries were configured and compiled and details on the source version used:
Unreal Engine source code https://www.unrealengine.com/en-US/ue4-on-github?sessionInvalidated=true
Visual Studio Redistributable for Arm64 https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
Microsoft Remote Debugging https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=vs-2019