Okay, I finally got it to working, thank you so much for your help Iceey!
I managed to used the UnrealInterface class, here is what I had to change based on my original post, if anyone is interested.
MyInterface.h
#include "CoreMinimal.h"
#include "MyInterface.generated.h"
// This class does not need to be modified.
UINTERFACE(MinimalAPI)
class UMyInterface : public UInterface
{
GENERATED_BODY()
};
class INTERFACETEST_API IMyInterface
{
GENERATED_BODY()
// Add interface functions to this class. This is the class that will be inherited to implement this interface.
public:
UFUNCTION(BlueprintNativeEvent)
void RunInterfaceTEST();
};
MyTargetActor.h
#include "MyInterface.h"
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "TargetActor.generated.h"
UCLASS()
class INTERFACETEST_API ATargetActor : public AActor, public IMyInterface
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
ATargetActor();
virtual void RunInterfaceTEST_Implementation();
};
The weird thing is that the IMyInterface::Execute_ method was crashing the game, so I had to use my original solution.
That was it, I never did, and would have thought about using _Implementation in the .h declaration, so thank you so much again, Iceey!