Linker Error when trying to use SPropertyAssetPicker

1>ARItemPickerContainerCustomization.cpp.obj : error LNK2019: unresolved external symbol “public: void __cdecl SPropertyAssetPicker::Construct(struct SPropertyAssetPicker::FArguments const &)” (?Construct@SPropertyAssetPicker@@QEAAXAEBUFArguments@1@@Z) referenced in function "public: class TSharedRef<class SPropertyAssetPicker,0> __cdecl TDecl<class SPropertyAssetPicker,struct RequiredArgs::T0RequiredArgs>::operator<<=(struct SPropertyAssetPicker::FArguments const &)const " (??_3?$TDecl@VSPropertyAssetPicker@@UT0RequiredArgs@RequiredArgs@@@@QEBA?AV?$TSharedRef@VSPropertyAssetPicker@@$0A@@@AEBUFArguments@SPropertyAssetPicker@@@Z)

			SNew(SPropertyAssetPicker)
			.OnGetAllowedClasses(this, &FARItemPickerContainerCustomization::OnGetAllowedClasses)
			.OnAssetSelected(this, &FARItemPickerContainerCustomization::OnAssetSelected)

void FARItemPickerContainerCustomization::OnAssetSelected(const class FAssetData& PickedAsset)
{

}

void FARItemPickerContainerCustomization::OnGetAllowedClasses(TArray<const UClass*>& AllowedClasses)
{
	TArray<const UClass*> classes;
	classes.Add(UARItemsData::StaticClass());
	AllowedClasses = classes;
}

So I thought it might unreslved because of FAssetData.
In my Build.cs I added:

PrivateDependencyModuleNames.AddRange(new string[] 
	{ 
		(...)
    "AssetRegistry"
	});

And then in my module header:

#include "Runtime/AssetRegistry/Public/IAssetRegistry.h"
#include "Runtime/AssetRegistry/Public/AssetRegistryModule.h"
#include "Runtime/AssetRegistry/Public/AssetData.h"

But I still get that linker error.
At this point I’m just out of ideas, what can I miss.

SPropertyAssetPicker is private inside the PropertyEditor module, so you can’t use it directly like that.

You should be able to use PropertyCustomizationHelpers::MakeAssetPickerAnchorButton instead though, as that’s public and API exported.