How to Automation Tests for Networked Games?

Hey, recently I was struggling to test my networked game logic. And I really liked how “Sea of Thieves” developers designed their own system to test. (www.youtube.com/watch?v=X673tOi8pU8)

Naturally, I tried to use Gauntlet but I’m confused! I can not find any documentation shows me how to write a testing code, actually I even didn’t understand how it actually works. I attempt to copy code of Lyra to make my own C# solution:

using EpicGame;
using Gauntlet;

namespace HarvestedTest
{
	public class Bootla : EpicGameTestNode<HarvestedTestConfig>
	{
		public Bootla(UnrealTestContext InContext) : base(InContext)
		{
		}

		public override HarvestedTestConfig GetConfiguration()
		{
			var config = base.GetConfiguration();
			config.NoMCP = true;

			var client = config.RequireRole(UnrealTargetRole.Client);
			
			client.Controllers.Add("Bootla");

			return config;
		}
		
	}
}

Also corresponding HarvestedTestControllerBootla.h:

#pragma once

#include "GauntletTestControllerBootTest.h"
#include "HarvestedTestControllerBootla.generated.h"


/**
 * 
 */
UCLASS()
class UHarvestedTestControllerBootla : public UGauntletTestControllerBootTest
{
	GENERATED_BODY()

protected:
	const double TestDelay = 20.f;

	virtual bool IsBootProcessComplete() const override;

	
};

But I think when I run this line
RunUAT.bat BuildCookRun -project=ElementalDemo -platform=Win64 -configuration=Development -build -cook -pak -stage

RunUAT RunUnreal -project=C:\Users\mek\Documents\UnrealEngine\Harvested\Harvested.uproject -platform=Win64 -configuration=Development -build=local -test=Harvestd.BootTest
it simply do not find my test. In anyway I didn’t understand anything.


  1. Is Gauntlet my only way for network integration tests?
  2. If yes, how could I setup and start use gauntlet?
  3. Also does it make sense to test network? It seems like very time consuming.