UPrimitiveComponent::SweepComponent always returning false

Hi guys.
I’ve recently made a blueprint function library (in c++) in order to use a component capsule trace instead of the existing line trace component function, however it always seems to hit nothing. The library function I’ve written is essentially the same as K2_LineTraceComponent but uses SweepComponent instead.

This won’t return a hit:
const bool bDidHit = comp->SweepComponent(Hit, TraceStart, TraceEnd, FCollisionShape::MakeCapsule(radius,halfHeight), bTraceComplex);

This works as expected under the same circumstances (when used as a melee weapon trace):
const bool bDidHit = comp->LineTraceComponent(Hit, TraceStart, TraceEnd, SweepParams);

I’ve looked at the SweepComponent function of both UPrimitiveComponent and USkeletalMeshComponent (which is what is being fed into the blueprint node) but there’s no indication as to why it wouldn’t work.
Any ideas? I’m using 4.6.1 btw