The easy answer is to build a better PC with the latest gen processor and as many cores as you can pack into it. Simple enough solution, but not viable for everyone, especially when you are on a budget. So what other options are there?
Enter the Swarm
Unreal Engine has a nice little feature built into it called Swarm. You may have noticed it pop-up in your system tray when you perform a build on your level in Unreal Engine. This is assuming your are designing on a Windows PC, as Swarm currently only runs on Windows. Unreal Lightmass is the high-quality, static global illumination solver that is built into Unreal Engine. Every time you do a lighting build on your level Lightmass is what is crunching the numbers. If your level is large or complex this can be very processor intensive, even on an 8-core system. Swarm is an agent for Lightmass that allows you to distribute light rendering jobs across multiple Windows PCs; split the load across as many processors as possible to shorten the time required to build lighting. It essentially works like any other distributed computing program, such as SETI@home or folding@home, or many other projects you may have contributed spare CPU cycles to. Most big studios pushing out triple A titles will have entire racks of servers dedicated to Lightmass rendering.
Lets Start Farming
So if you are a nerd like me, you probably have some extra PCs lying around. Maybe from your last gaming rig, or something you cobbled together from spare parts. Lets assume that you do. In my case I have two small servers and some workstations at my repair shop that are usually not under heavy load. Working six days a week, I tend design levels for my 3D design class during slow points of the day. So I have Unreal Engine installed on my primary workstation at the shop.
Setting up a render farm is actually quite simple. A few things to note to begin:
- You do NOT need to install Unreal Engine on PCs you want to run the Swarm agent on
- You will require the latest version of .NET framework
- You should install Unreal Engine Prerequisites on Swarm PCs
- As previously mentioned, Swarm only runs on Windows currently
- Swarm uses CPU for rendering, not GPU
- There are two components to Swarm, the Agents and the Coordinator
- Swarm PCs must be on the same physical network, with Gigabit speed preferred
So for my specific example I will be running the Swarm agent on my main workstation, and two servers. I will be using a second workstation as the Coordinator. Between my workstation and the two servers I will have 24 processor cores available for rendering. The Coordinator does not perform any rendering, it merely coordinates the jobs and distributes them to the agent PCs. Typically in a rendering farm you will use the least powerful system you have as the Coordinator.
Running Swarm
Whether the system is the Coordinator or an Agent, the installation process is the same. I always begin with installing Unreal Engine Prerequisites on the Swarm systems. You can find the prerequisite installer on the system you have the full Unreal Engine installed on in the following folder:
C:\Program Files\Epic Games\UE_4.14\Engine\Extras\Redist\en-us\
The UE_ folder will vary depending on the version of Unreal Engine you have installed. You will see two files:
UE4PrereqSetup_x64.exe
UE4PrereqSetup_x86.exe
Since all my Swarm systems are 64-bit I will copy the
UE4PrereqSetup_x64.exe file and run it on all of them. If your systems have 32-bit Windows installed, run the UE4PrereqSetup_x86.exe file. This ensures that you have the correct runtime libraries that Swarm needs.
For the actual Swarm files you will copy the DotNET folder from Unreal Engine to the Swarm systems. You can find it here:
C:\Program Files\Epic Games\UE_4.14\Engine\Binaries\DotNET
Copy the entire DotNet folder. I typically will manually create the following folder structure on the Swarm systems:
C:\Program Files\Unreal Engine\4.0\Engine\Binaries
And then I will copy the entire DotNET folder into the Binaries folder. To run Swarm just double-click the executable in the DotNET folder. We will start with the Coordinator. On the Coordinator system you will run the SwarmCoordinator.exe file. Once you run it you will see the Coordinator window pop-up on screen.
![]() |
| Swarm Coordinator |
On the Agent systems run the SwarmAgent.exe file. You will not get a pop-up window this time, just a System Tray icon on the lower right corner of your screen. Double-clicking the tray icon will open up the Swarm Agent window.
![]() |
| Swarm Agent |
Click the AllowRemoteAgentGrooup line and make the following edit in the right pane:
Default
You want to make certain that the AgentGroupName and AllowedRemoteAgentGroup are identical on all of the Agent machines.
Next click on the CoordinatorRemotingHost line and type the Windows name of the Coordinator system in the right pane. For example if the PC running the Swarm Coordinator is named PC1, type PC1.
![]() |
| Swarm Agent Settings |
Once you have made the changes you will need to restart the Swarm Agent on the system. Repeat this step for each of the systems you will be running the Agent on. You will want to do this on your system with Unreal Engine installed as well. Once the Agents have been configured and restarted, you see them populated in the Coordinator window.
![]() |
| Coordinator with Agents |
Performance
As a test I am going to perform a build on a level for a group project for my 3D Design class. It is a large outdoor level with structures throughout the level. I will run it once without the Coordinator distributing the job, and then again with the build distributed.
Non-Distributed Build Time: 3 Minutes 5 Seconds
Distributed Build Time: 1 Minute 16 Seconds
As you can see, a marked improvement with a reduction of 59% in build time. If you want to check the status of your distributed job simply double-click the Swarm Agent icon in the system tray to bring up the window and click the Swarm Status tab.
![]() |
| Swarm Status |
I will admit that the level I chose to build was not terribly complex. However, this test still demonstrates how distributing Lightmass jobs can dramatically reduce build time.
As always I really hope you enjoyed this post and found it informative. I know I enjoyed the exercise of creating a render farm. Until the next post.
- End of Line





If you are using 3ds Max, Cinema 4d, Blender or Houdini, you don’t have to torture your pc, just download our cloud rendering software VFXFARMSTREAMER and try it for FREE. Houdini render farm
ReplyDelete