Passing plain c++ class in NetMulticast function won't compile

I’m trying to pass a structure or class with some basic data to a NetMulticast function but for some reason the compiler refuses to recognise the class.

Here is the data struct / class:

.h (empty .cpp file)

class SPACECOOP_API CustomNetInfo


struct SPACECOOP_API TestStuct
	int32 testint;

and Here’s how i’m trying to call it:

class SPACECOOP_API ACombatGameState : public AGameState

	TestStruct mytest;
	// spawn projectile
	UFUNCTION(Reliable, NetMulticast, WithValidation)
	void MulticastSpawnProjectile(FVector SpawnLocation, FRotator SpawnRotation, FVector Velocity, double server_time_spawned, TSubclassOf<ALinearProjectile> Projectile, TestStruct info);

I get “error : In CombatGameState: Unrecognized type ‘TestStruct’” on the line with the function definition. The line further up (TestStruct mytest; ) seems to compile with no issues.

What am I doing wrong? Does NetMulticast require parameters to be derived from UObject or something? Whats the best way to pass a chunk of data via a NetMulticast function?

Well using UObject as a parent class seems to work. Is this the only way?