Installing the Genvid MILE SDK in an Unreal Engine Project

This section covers the initial steps required for integrating the Genvid MILE SDK into an Unreal Engine 4 or 5 project.

Before You Begin

The Genvid MILE SDK currently supports Unreal Engine 4.15 to 5.1. We recommend the usage of the latest revision of each given Unreal Engine version.

For Unreal Engine 4.15 to 4.19, make sure you have the latest version of the Visual Studio 2015 toolchain. (Visual Studio 2017 build tools are available from the Microsoft download site.)

Warning

Unreal Engine 5 uses DX12 by default, but the Genvid MILE SDK requires DX11. To avoid build issues, you must specify the use of DX11 in your project settings.

Installation steps for Visual Studio 2015 and 2017 toolchain:

  1. Launch the Visual C++ Build Tools executable.

  2. Select Visual C++ Build Tools in the Workloads tab.

  3. To use Visual Studio 2015 from the Summary section, select the following components:

  • Windows Univeral CRT SDK

  • Windows 8.1 SDK

  • VC++ 2015.3 v14.00 (v140) toolset for desktop

  • .NET Framework 4.5 targeting pack

For Unreal Engine 4.20 to 4.27, make sure you have the latest version of the Visual Studio 2017 toolchain. (Visual Studio 2017 build tools are available through Microsoft Visual Studio Essentials download You need at least a free account to log in.)

From Unreal Engine 4.25, we recommend using Visual Studio Essentials 2019. (Visual Studio Essentials 2019 is available from the Microsoft Visual Studio download page.) For more information, see the Platform SDK Upgrades section of the Unreal Engine 4.25 release notes.

Note

If Visual Studio 2015 isn’t installed on your computer, you will get the two following warning messages when building the Unreal Engine Cube Sample. They are expected and won’t prevent the build from being generated. You can safely ignore them.

Warning Messages

CommandEnvironment.SetupBuildEnvironment: WARNING: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Devenv.com does not exist.
CommandEnvironment.SetupBuildEnvironment: WARNING: Assuming no solution compilation capability.

Install in the Game Folder

Note

In this section, we refer to the folder in which your game .uproject file resides as UE4_PROJ_ROOT.

You can find the Genvid plugin under engine-integration/ue4/. To install the plugins, copy them into your game’s plugin directory UE4_PROJ_ROOT/Plugins/. The Genvid plugin is composed of three modules, two runtime modules GenvidPlugin and Genvid, and an editor module GenvidSDKSelector. It also contains a third-party module, GenvidSDK, that provide the Genvid libraries and headers.

The GenvidPlugin module is used to expose functionality from the Genvid library, with a C++ interface friendly to Unreal Engine.

The Genvid plugin is a wrapper around Genvid functionality for easier usage in both C++ code and Unreal Engine Blueprints.

Note

The GenvidPlugin plugin used to be a module copied to UE4_PROJ_ROOT/Source/. Beginning with version 1.39.0, it is now a separate plugin. You need to remove the UE4_PROJ_ROOT/Source/Genvid folder if you’re upgrading from a version older than 1.39.0.

If you’re updating to a new version of the SDK and don’t wish to copy the plugin folders in their entirety, you need to copy the following Genvid Native API files:

  • api/native/include/genvid.h -> UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/include/genvid.h

  • UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/include/genvid.h This is the header file of the Genvid Native SDK which declares all the functions and types.

  • api/native/win64/Genvid.lib -> UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/win64/Genvid.lib

  • UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/win64/Genvid.lib The 64-bit import library used when linking. Requires associated Genvid.dll at runtime.

  • api/native/win64/Genvid.dll -> UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/win64/Genvid.dll

  • UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/win64/Genvid.dll The 64-bit shared library used at runtime.

  • api/native/win32/Genvid.lib -> UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/win32/Genvid.lib

  • UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/win32/Genvid.lib The 32-bit import library used when linking. Requires associated Genvid.dll at runtime.

  • api/native/win32/Genvid.dll -> UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/win32/Genvid.dll

  • UE4_PROJ_ROOT/Plugins/Genvid/Source/ThirdParty/GenvidSDK/win32/Genvid.dll The 32-bit shared library used at runtime.

In engine-integration/ue4/, we provide a Python script that copies the required files easily. Run the following to copy all the files at once:

py copy-ue4-plugin.py checkout {UE4_PROJ_ROOT}

The script creates a manifest file that is updated with the copied files. If it detects a previous manifest file, it will clean any files in its contents cleaned before copying new ones.

Note

Starting with SDK version 1.25, the manifest file is located under your application folder rather than the plugin folder. To keep using an existing manifest file, move it your application folder.

You can use the --dry-run option to see what the script will do before running it. See copy-ue4-plugin.py for more information.

Once you’ve copied all the files (and get Unreal Engine from the Git repository, if necessary), run GenerateProjectFiles.bat again and you should have access to the Genvid Plugins.