Unresolved external Symbol

Hi guys,

getting an error in my code, and honestly not sure whats going on.

I have attached an image of the error, and if anything is needed, please do help. I can also provide a github link to the project.

The error seems to be somewhere in FSM_State_Idle and FSM_State_GoTo, not being happy to inherit from FSM_State Base. In order the code blurbs are, FSM_State_Base.h
FSM_State_Idle.h, FSM_State_Idle.cpp. I havent included the GoTo, as that should have the same issue, as currently idle and goto have the same functions.



#include "Spy.h"
#include "GOAP/FiniteStateMachine/Finite_State_Machine.h"

class FSM_State_Base
{
public:
    FSM_State_Base(AFinite_State_Machine* TheSpy) { Spy = TheSpy; }
    virtual ~FSM_State_Base();


    virtual void Update() = 0;

    virtual FSM_State_Base* ConditionCheck() = 0;


    AFinite_State_Machine* SpyOwner() { return Spy; }

    AFinite_State_Machine* Spy;
};




#include "GOAP/FiniteStateMachine/FSM_State_Base.h"
class AFiniteStateMachine;
class Planner;

class FSM_State_Idle : public FSM_State_Base
{
public:
    FSM_State_Idle(AFinite_State_Machine* TheSpy );
    ~FSM_State_Idle();

    AActor* vTheTarget;
    TQueue<GOAP_Action_Base*> vThePLan;
    Planner* vThePLanner;

    void Update();
    FSM_State_Base* ConditionCheck();
};





#include "FSM_State_Idle.h"
#include "GOAP/FiniteStateMachine/FMS_State_GoTo.h"
#include "Spy.h"
#include "GOAP/Planner/Planner.h"
#include "GOAP/FiniteStateMachine/Finite_State_Machine.h"
#include "AIController.h"
#include "Materials/MaterialInstanceDynamic.h"
#include "Engine/Classes/Components/SkeletalMeshComponent.h"
#include "Classes/Blueprint/AIBlueprintHelperLibrary.h"
#include "Engine/Classes/Kismet/GameplayStatics.h"

FSM_State_Idle::FSM_State_Idle(AFinite_State_Machine* TheSpy) : FSM_State_Base (TheSpy)
{

    vThePLanner = new Planner();

    TSet<TPair<FString, bool>> CurrentState = Cast<ASpy>(TheSpy)->GetPlayersCurrentState();
    TSet<TPair<FString, bool>> GoalState = Cast<ASpy>(TheSpy)->GoalState();
    //TSet<GOAP_Action_Base*> ActionList = Cast<ASpy>(TheSpy)->GetActionList();
}

FSM_State_Idle::~FSM_State_Idle()
{

    if (vThePLanner)
    {
        delete vThePLanner;
    }
}

void FSM_State_Idle::Update()
{
}

FSM_State_Base* FSM_State_Idle::ConditionCheck()
{
    return nullptr;
}