Trying to use UserDefinedStruct produces identifier is undefined

aside from that use FString instead of std::string

Hey

I’ve made a custom data structure with a parent of UserDefinedStruct but I can’t seem to use it.
Here’s my header code for the data structure.

#pragma once
#include <string>
#include "Engine/UserDefinedStruct.h"
#include "Contradiction.generated.h"

/**
 * 
 */
UCLASS()
class DANGANRONPAMP_API UContradiction : public UUserDefinedStruct
{
	GENERATED_BODY()
	//Text that is displayed on screen
	UPROPERTY()
	std::string DisplayText;
	//Whether this statement has a contradiction
	UPROPERTY()
	bool Contradictory;
	//The truth bullet ID that counters this statement (If contradictory is true)
	UPROPERTY()
	int CounteredBy;
	//The player that says this statement
	UPROPERTY()
	int OwnedByPlayerID;
	//The name of the player that says this statement
	std::string PlayerName
};

That’s fine and isn’t producing any errors however when I try and use it as a parameter type in a function in another class it says the identifier isn’t defined.

#pragma once
#include "Contradiction.h"
#include "GameFramework/Actor.h"
#include "NonStopDebateMGR.generated.h"

UCLASS()
class DANGANRONPAMP_API ANonStopDebateMGR : public AActor
{
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	ANonStopDebateMGR();

     //Other code in the header, all works fine)

	UFUNCTION(BlueprintCallable, Category = "Debate Controls")
	void Start_Debate(Contradiction Arguments[])

I need to pass an array contradictions through but I can’t see why its saying “identifier Contradiction is undefined”

Any help on this would be great :smiley: