How to setup Horde Agent that's ONLY used as UBA helper (i.e. only compute tasks)?

So far, this is what I’ve done on some workstations:

  1. Install Unreal Toolbox on my own workstation
  2. Install Horde Agent from Unreal Toolbox, and set Agent mode to “Workstation” instead of “Dedicated”.

What I want to happen is to have my workstation only be used as a UBA “helper”, so it can be assigned compute tasks by the server/other dedicated agents.

However, currently my Workstation agent is treated like a regular agent in Horde and added to the same pool as other dedicated Windows agents. This causes the server to sometimes assign build jobs to my workstation agent, and it keeps trying to conform my workspace, which I don’t want to happen.

What’s the correct setup to have “Workstation” agents be setup to only help with compilation but not need to conform the whole project workspace?

You have to make sure that your agent is only inside your ‘Compute’ pool.

You can achieve that through your agent.json file, adding a property that only compute nodes have.

You can name the property as you please, even add as many as you need in that properties dictionary. Here is called ComputeResource

{
	"Horde": {
		...
		"properties": {
			"ComputeResource": true
		}
        ...
	}
}

In your horde server, at the pools configuration make sure to add only devices that are not marked as compute resources

{
    "name": "Win-UE5",
    "condition": "Platform == 'Win64' && ComputeResource == false",
    "color": "Blue"
},
...
{
    "name": "Compute",
    "condition": "ComputeResource == true",
    "color": "Gray"
}

Do the same for every other platform like Linux or macOS.

Hope this is useful to you and to others with the same problem that I had today in the future