Experimental WFH: Automatic Configuration of XGE Over VPN

Article written by Branden T.

UE4 uses Incredibuild to improve engine and shaders compilation times. Using Remote Desktop to connect to a PC in the office allows developers to take advantage of an existing XGE farm. Unfortunately, Remote Desktop isn’t great for running interactive editor sessions and users that need to debug the editor often resort to compiling on their local PC. Using XGE from a local PC over VPN is highly taxing on the internet connection and can lead to worse compilation times.

To help with this situation, we added a mechanism that disables the XGE executor in UnrealBuildTool if the user is connected to the coordinator via a VPN. This determination is made by checking if the IP address of the adapter that routes to the coordinator is not allowed.

This behavior can be configured by creating or editing in Engine/Programs/UnrealBuildTool/NotForLicensees/BuildConfiguration.xml

file with the following contents:

<?xml version="1.0" encoding="utf-8"?> 
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">; 
  <XGE> 
     <bAllowOverVpn>false</bAllowOverVpn> 
     <VpnSubnets> 
           <Item>10.1.2.3/24</Item> <--Set your studio ranges here 
           <Item>10.4.5.6/24</Item> 
      </VpnSubnets> 
   </XGE>
 </Configuration>

The new code is in:

Perforce

//UE4/Main/Engine/Source/Programs/UnrealBuildTool/Executors/XGE.cs //UE4/Main/Engine/Source/Programs/UnrealBuildTool/System/Subnet.cs //UE4/Main/Engine/Source/Programs/UnrealBuildTool/System/PlatformExports.cs //UE4/Main/Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.csproj

GitHub