Building for Unreal Engine on Linux

Stormancer supports building for several versions of Unreal Engine on Linux.

Requirements

  • Clang v7, v8 or v9 (depending on the target UE version ; see dependencies/UnrealEngine/UnrealEngine.cmake for the list of supported versions)

  • libc++ development files

  • CMake >= 3.10

Build Steps

Open a shell in the src/clients/cpp folder.

Run the command ./build-utils/scripts/BuildLinuxUE-cmake.sh <UE Version> <Configuration>.

If you do not provide a configuration (Debug or Release), the default is Release.

The resulting libstormancer.a is located in the cmake-build folder.

Adding support for a specific Unreal Engine version on Linux

To add support for a new version of the Unreal Engine :

  • Download the desired verions of the Unreal Engine. Both source and binary versions should contain the files we need.

  • Run Setup.bat from the root directory of the engine. This will download the binaries of the libraries that we need.

  • Open the release notes for your engine version, and note the following:

    • Toolchain version (clang)

    • OpenSSL version

    • libcurl version

    • zlib version

  • In the stormancer repository, copy the folder located under src/clients/cpp/dependencies/UnrealEngine that corresponds to the most recent UE version supported by stormancer, and name the copied folder according to your new engine version.

  • In UnrealEngine.cmake, add a clause for your new engine version, with the correct directory for the dependencies, and the appropriate clang version.

  • In said directory, replace the versions of OpenSSL, Curl and Zlib as needed if they have been updated in your version of the engine. They can be found in your engine directory under Engine/Source/ThirdParty. The folders for each dependency usually contain several versions. To make sure which version you should use, read the dependency’s Build.cs file.

  • If you replaced one or more libraries in the previous step, do not forget to update their corresponding FindXXX.cmake files.