Character Movement Component SetFromSweep linker error

I am getting the following error when creating a custom Character Movement Component

Error 1 error LNK2019: unresolved external symbol “public: void __cdecl FFindFloorResult::SetFromSweep(struct FHitResult const &,float,bool)” (?SetFromSweep@FFindFloorResult@@QEAAXAEBUFHitResult@@anonymous_user_d42a5d0e@Z) referenced in function “public: virtual void __cdecl UBeggarPlayerMovComp::UnCrouch(bool)” (?UnCrouch@UBeggarPlayerMovComp@@UEAAX_N@Z) D:\Documents\Unreal Projects\BeggarSimulator\Intermediate\ProjectFiles\BeggarPlayerMovComp.cpp.obj BeggarSimulator

I am using the exact same code from the default UnCrouch function. SetFromSweep is in a Struct in the FFindFloorResult, which is declared in the CharacterMovementComponent. Any ideas on why this is not working?

struct FFindFloorResult was missing an ENGINE_API decorator on the struct declaration, so it wasn’t exported to other modules. This has been fixed for 4.3! It is now:

USTRUCT(BlueprintType)
struct ENGINE_API FFindFloorResult
{

A temporary workaround until you get the upgrade, if you are not inclined to change the engine source and rebuild it, is to just declare your own helper function and copy the implementation in your file and call that instead. For reference here it is (you’ll obviously want to name change this a bit since it won’t be a member of FFindFloorResult):

void FFindFloorResult::SetFromSweep(const FHitResult& InHit, const float InSweepFloorDist, const bool bIsWalkableFloor)
{
	bBlockingHit = InHit.IsValidBlockingHit();
	bWalkableFloor = bIsWalkableFloor;
	bLineTrace = false;
	FloorDist = InSweepFloorDist;
	LineDist = 0.f;
	HitResult = InHit;
}

Thank you very much!