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"));
}