I’m trying to create a custom spline component so that I can add custom metadata to each spline point. I’m following along the code they have in their repo, but when I try to add the slate sliders, I get tons of unresolved externals. Heres some of the few below. Does anyone know what I’m missing here?
DetailGroup.AddWidgetRow()
.RowTag("Depth")
.FilterString(LOCTEXT("Depth", "Depth"))
.Visibility(TAttribute<EVisibility>(this, &FWaterSplineMetadataDetails::IsDepthVisible))
.NameContent()
.HAlign(HAlign_Left)
.VAlign(VAlign_Center)
[
SNew(STextBlock)
.Text(LOCTEXT("Depth", "Depth"))
.ToolTipText(LOCTEXT("RiverDepth_Tooltip", "The depth of the river at this spline point. Affects the terrain carving and collision"))
.Font(IDetailLayoutBuilder::GetDetailFont())
]
.ValueContent()
.MinDesiredWidth(125.0f)
.MaxDesiredWidth(125.0f)
[
SNew(SNumericEntryBox<float>)
.Value(this, &FWaterSplineMetadataDetails::GetDepth)
.AllowSpin(true)
.MinValue(0.0f)
// Because we have no upper limit in MaxSliderValue, we need to "unspecify" the max value here, otherwise the spinner has a limited range,
// with TNumericLimits<NumericType>::Max() as the MaxValue and the spinning increment is huge
.MaxValue(TOptional<float>())
.MinSliderValue(0.0f)
.MaxSliderValue(TOptional<float>()) // No upper limit
.OnBeginSliderMovement(this, &FWaterSplineMetadataDetails::OnBeginSliderMovement)
.OnEndSliderMovement(this, &FWaterSplineMetadataDetails::OnEndSliderMovement)
.UndeterminedString(LOCTEXT("Multiple", "Multiple"))
.OnValueCommitted(this, &FWaterSplineMetadataDetails::OnSetDepth)
.OnValueChanged(this, &FWaterSplineMetadataDetails::OnSetDepth, ETextCommit::Default)
.Font(IDetailLayoutBuilder::GetDetailFont())
];
Sample Errors:
unresolved external symbol "__declspec(dllimport) public: class FReply & __cdecl FReply::SetUserFocus(class TSharedRef<class SWidget,1>,enum EFocusCause,bool)" (__imp_?SetUserFocus@FReply@@QEAAAEAV1@V?$TSharedRef@VSWidget@@$00@@W4EFocusCause@@_N@Z) referenced in function "private: virtual class FReply __cdecl SNumericEntryBox<float>::OnFocusReceived(struct FGeometry const &,struct FFocusEvent const &)" (?OnFocusReceived@?$SNumericEntryBox@M@@EEAA?AVFReply@@AEBUFGeometry@@AEBUFFocusEvent@@@Z)
unresolved external symbol "__declspec(dllimport) protected: void __cdecl SlateAttributePrivate::ISlateAttributeContainer::RemoveContainerWidget(class SWidget &)" (__imp_?RemoveContainerWidget@ISlateAttributeContainer@SlateAttributePrivate@@IEAAXAEAVSWidget@@@Z) referenced in function "public: virtual __cdecl TWidgetSlotWithAttributeSupport<class SHorizontalBox::FSlot>::~TWidgetSlotWithAttributeSupport<class SHorizontalBox::FSlot>(void)" (??1?$TWidgetSlotWithAttributeSupport@VFSlot@SHorizontalBox@@@@UEAA@XZ)
unresolved external symbol "__declspec(dllimport) protected: void __cdecl SlateAttributePrivate::FSlateAttributeImpl::ProtectedUnregisterAttribute(class SWidget &,enum SlateAttributePrivate::ESlateAttributeType)const " (__imp_?ProtectedUnregisterAttribute@FSlateAttributeImpl@SlateAttributePrivate@@IEBAXAEAVSWidget@@W4ESlateAttributeType@2@@Z) referenced in function "public: bool __cdecl SlateAttributePrivate::TSlateAttributeBase<class SWidget,bool,struct SlateAttributePrivate::FSlateAttributeNoInvalidationReason,struct TSlateAttributeComparePredicate<struct TEqualTo<void> >,0>::Assign(class SWidget &,class TAttribute<bool> &&,enum ESlateAttributeBindAction)" (?Assign@?$TSlateAttributeBase@VSWidget@@_NUFSlateAttributeNoInvalidationReason@SlateAttributePrivate@@U?$TSlateAttributeComparePredicate@U?$TEqualTo@X@@@@$0A@@SlateAttributePrivate@@QEAA_NAEAVSWidget@@$$QEAV?$TAttribute@_N@@W4ESlateAttributeBindAction@@@Z)
unresolved external symbol "__declspec(dllimport) protected: void __cdecl SlateAttributePrivate::FSlateAttributeImpl::ProtectedRegisterAttribute(class SWidget &,enum SlateAttributePrivate::ESlateAttributeType,class TUniquePtr<class SlateAttributePrivate::ISlateAttributeGetter,struct TDefaultDelete<class SlateAttributePrivate::ISlateAttributeGetter> > &&)" (__imp_?ProtectedRegisterAttribute@FSlateAttributeImpl@SlateAttributePrivate@@IEAAXAEAVSWidget@@W4ESlateAttributeType@2@$$QEAV?$TUniquePtr@VISlateAttributeGetter@SlateAttributePrivate@@U?$TDefaultDelete@VISlateAttributeGetter@SlateAttributePrivate@@@@@@@Z) referenced in function "private: void __cdecl SlateAttributePrivate::TSlateAttributeBase<class SWidget,bool,struct SlateAttributePrivate::FSlateAttributeNoInvalidationReason,struct TSlateAttributeComparePredicate<struct TEqualTo<void> >,0>::ConstructWrapper(class SWidget &,class TDelegate<bool __cdecl(void),struct FDefaultDelegateUserPolicy> &&,enum ESlateAttributeBindAction)" (?ConstructWrapper@?$TSlateAttributeBase@VSWidget@@_NUFSlateAttributeNoInvalidationReason@SlateAttributePrivate@@U?$TSlateAttributeComparePredicate@U?$TEqualTo@X@@@@$0A@@SlateAttributePrivate@@AEAAXAEAVSWidget@@$$QEAV?$TDelegate@$$A6A_NXZUFDefaultDelegateUserPolicy@@@@W4ESlateAttributeBindAction@@@Z)