Skip to content
On this page

Work distribution

This guide will show you how to enable work distribution when running Simplygon tasks.

The Simplygon Unreal Engine plugin supports three different methods for distributing work: Simplygon Grid, Incredibuild and FASTBuild. This example will use Simplygon Grid but the concepts are the same for the other two methods.

1. Start the distribution agent

Make sure "Simplygon Grid Agent" is running. See Simplygon Grid guide for more details.

2. Enable distribution

Enable distribution by checking Edit → Project Settings → Plugins → Simplygon Plugin → "Use Distribution", see figure 1.

Figure 1: Simplygon plugin settings
Figure 1: Simplygon plugin settings

Make sure the "Distribution Method" is set to your chosen method, in our case that is "Simplygon Grid".

[Optional] Enable "Allow Distribution Local Fallback" to allow work to run locally if no remote agents are found. If the setting is disabled and no remote agents are found, an error message will be thrown.

[Optional] "Agent Utilization Mode" specifies how jobs are distributed when the "Distribution Method" is set to "Simplygon Grid".

  • "Default" means that all jobs will get distributed evenly.
  • "Passthrough" means that the specified number of jobs will get sent to the first available agent before the balancing kicks in.

Important

Simplygon Grid is the only supported distribution method for HLOD generation.

3. Run a process

LOD Recipe and Stand-In

Now you should be able to start processing and the distribution will be handled automatically behind the scenes.

HLOD

As of moving Simplygon HLOD generation from Unreal Engine's built-in interface to a proprietary HLOD builder we also took the opportunity to redesign the work distribution. The HLOD distribution is now more async and does not have to wait for unnecessary sequential work.

For the distribution system to work properly it is required to build the HLODs through WorldPartitionBuilderCommandlet with the builder set to SimplygonWorldPartitionBuilder. Read more about this in HLOD and work distribution limitations.

Run the following command, replace {ProjectPath} with the path to your project file (uproject), and {MapPath} with the path to the level (umap). This will build all HLODs in the specified level. The Async-flag is necessary to enable asynchronous handling of jobs.

shell
.\UnrealEditor-Cmd.exe {ProjectPath} {MapPath}
-run=WorldPartitionBuilderCommandlet 
-Builder=SimplygonWorldPartitionBuilder
-Async
-AllowCommandletRendering