Collision on static mesh not being detected

I’m making an ability where weak points are spawned on to enemy skeletal meshes. However when spawned my line trace doesn’t seem to be detecting them. I made it so that my weak point blueprint class blocks the line trace I use for bullets, but still the bullets are passing right through the weak points and hitting the enemies. I assume it’s an issue with the static mesh I use for the weak points collision, but I’m having a hard time remedying the issue. I tried adding a simple box collision, and when spawning the weakpoints some enemies got launched in the air so clearly some kind of collision is happening, just not with my line trace.

Weak point mesh

weak point BP collision panel

The line trace logic from my Gun.CPP

void AGun::PullTrigger()
{
	APawn* OwnerPawn = Cast<APawn>(GetOwner()); 
	if(!OwnerPawn) return;
	AController* OwnerController = OwnerPawn->GetController();
	if(!OwnerController) return;

	FVector Location;
	FRotator Rotation;
	OwnerController->GetPlayerViewPoint(Location, Rotation);

	FVector End = Location + Rotation.Vector() * MaxRange; 

	FHitResult Hit;
	bool bHitSuccess = GetWorld()->LineTraceSingleByChannel(Hit, Location, 
    End, ECollisionChannel::ECC_GameTraceChannel1);

	if(bHitSuccess)
	{	
		FVector ShotDirection = -Rotation.Vector();
		
		AActor* HitActor = Hit.GetActor();
		if(HitActor)
		{
			if(HitActor->IsA(AWeakPoint::StaticClass()))
			{
                //Not going off
				UE_LOG(LogTemp, Warning, TEXT("WeakPoint Hit")); 
				HitActor = HitActor->GetOwner();
				FPointDamageEvent DamageEvent(Damage, Hit, ShotDirection, 
                nullptr);
				HitActor->TakeDamage(Damage * 1.75, DamageEvent, 
                OwnerController, this);
				
			}
			
			else
			{
				FPointDamageEvent DamageEvent(Damage, Hit, ShotDirection, 
                nullptr);
				HitActor->TakeDamage(Damage, DamageEvent, OwnerController, 
                this);
			}
		}
	}
}

My entire WeakPoint.Cpp, which is basically just a static mesh and nothing more:

AWeakPoint::AWeakPoint()
{
	PrimaryActorTick.bCanEverTick = true;

	Mesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh"));
	RootComponent = Mesh;

}

void AWeakPoint::BeginPlay()
{
	Super::BeginPlay();
	
}

{
	Super::Tick(DeltaTime);
}

If the mesh has volume like bound square or sphere, it makes easy detection each collision, too thin or skinny objects seems to be avoidance detection I guess.