Unresolved external symbol trying to create BeginOverlap events

I am trying to create a begin overlap event for my weapon system, but I get the following link error when trying to compile:

**Error 2 error LNK2001: unresolved external symbol "public: void __cdecl AWeapon_Base::OnPickedUp(class AActor ,class UPrimitiveComponent ,int,bool,struct FHitResult const &)" (?OnPickedUp@AWeapon_Base@@QEAAXPEAVAActor@@PEAVUPrimitiveComponent@@H_NAEBUFHitResult@@@Z) C:\Users\maximebl\Documents\Unreal Projects\SurvivalArena\Intermediate\ProjectFiles\Weapon_Base.cpp.obj SurvivalArena

Weapon_Base.h

UFUNCTION()
void OnPickedUp(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult & SweepResult);
    
UPROPERTY(VisibleDefaultsOnly, Category = WeaponData)
class UBoxComponent* WeaponCollision;

Weapon_Base.cpp

AWeapon_Base::AWeapon_Base(const class FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
{
    	// Create a collision box for our weapons 
    	WeaponCollision = CreateDefaultSubobject<UBoxComponent>(TEXT("WeaponCollisionComp"));
    	WeaponCollision->RelativeLocation = FVector(0.f, 23.f, 9.f);
    	WeaponCollision->RelativeScale3D = FVector(0.2f, 1.f, 0.55f);
    	WeaponCollision->AttachParent = WeaponMeshComp;
    
    	// Overlap events setup
    	WeaponCollision->bGenerateOverlapEvents = true;
    	WeaponCollision->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);
    	WeaponCollision->SetCollisionResponseToChannel(ECC_Pawn, ECollisionResponse::ECR_Overlap);
    	WeaponCollision->OnComponentBeginOverlap.AddDynamic(this, &AWeapon_Base::OnPickedUp);
}

    void OnPickedUp(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult & SweepResult)
    {
    	UE_LOG(LogTemp, Log, TEXT("Your message"));
    }

Ah yep… looks like I was over complicating things! Thank you!!