Link error using GetVectorParameterByName in C++

The following line of code is generating a link error:

const FCollectionVectorParameter* BoatPosParam = BoatPositionCollection->GetVectorParameterByName(TEXT("BoatBos"));

Link error:

error LNK2019: unresolved external symbol "public: struct FCollectionVectorParameter const * __cdecl UMaterialParameterCollection::GetVectorParameterByName(class FName)const 

Seems odd, I can see the implementation in ParameterCollection.cpp, why can’t the compiler find it?

Update: I see this was in fact the wrong method to call, instead I need to get the instance. This also causes a link error

Code:

UMaterialParameterCollectionInstance* ParameterInstance = GetWorld()->GetParameterCollectionInstance(BoatPositionCollection);
FLinearColor BoatPosOut;
bool Result = ParameterInstance->GetVectorParameterValue(TEXT("BoatPos"), BoatPosOut);

Link error:

error LNK2019: unresolved external symbol "public: bool __cdecl UMaterialParameterCollectionInstance::GetVectorParameterValue(class FName,struct FLinearColor &)const

GetVectorParameterByName() is not exported for dll. ( not attached ENGINE_API)