Download

4.3 and Slate not working

I am trying to migrate my Slate UI widgets from 4.2 to the 4.3 preview and running into issues compiling after adding a Slate Widget code through the Editor.

I noticed that the widgets code that gets generated by the editor does not include the Slate.h header file resulting in a compile error that SCompoundWidget does not exist. I figured that was the only problem so I added the header include. After including the needed header I compiled again and got 54 errors.

Below is the first 10 errors:

Error 1 error LNK2019: unresolved external symbol “__declspec(dllimport) protected: __cdecl SCompoundWidget::SCompoundWidget(void)” (_imp??0SCompoundWidget@@IEAA@XZ) referenced in function “public: __cdecl SPlayerStatsWidget::SPlayerStatsWidget(void)” (??0SPlayerStatsWidget@@QEAA@XZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 2 error LNK2019: unresolved external symbol “__declspec(dllimport) public: virtual __cdecl SCompoundWidget::~SCompoundWidget(void)” (_imp??1SCompoundWidget@@UEAA@XZ) referenced in function “public: virtual __cdecl SPlayerStatsWidget::~SPlayerStatsWidget(void)” (??1SPlayerStatsWidget@@UEAA@XZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 3 error LNK2001: unresolved external symbol “protected: virtual void __cdecl SWidget::CacheDesiredSize(void)” (?CacheDesiredSize@SWidget@@MEAAXXZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 4 error LNK2001: unresolved external symbol "public: virtual struct FVector2D __cdecl SCompoundWidget::ComputeDesiredSize(void)const " (?ComputeDesiredSize@SCompoundWidget@@UEBA?AUFVector2D@@XZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 5 error LNK2001: unresolved external symbol “public: virtual class FChildren * __cdecl SCompoundWidget::GetChildren(void)” (?GetChildren@SCompoundWidget@@UEAAPEAVFChildren@@XZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 6 error LNK2001: unresolved external symbol "public: virtual class FString __cdecl SWidget::GetCreatedInFile(void)const " (?GetCreatedInFile@SWidget@@UEBA?AVFString@@XZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 7 error LNK2001: unresolved external symbol "public: virtual int __cdecl SWidget::GetCreatedInLineNumber(void)const " (?GetCreatedInLineNumber@SWidget@@UEBAHXZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 8 error LNK2001: unresolved external symbol "public: virtual struct FSlateColor __cdecl SCompoundWidget::GetForegroundColor(void)const " (?GetForegroundColor@SCompoundWidget@@UEBA?AUFSlateColor@@XZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 9 error LNK2001: unresolved external symbol "public: virtual class FString __cdecl SWidget::GetReadableLocation(void)const " (?GetReadableLocation@SWidget@@UEBA?AVFString@@XZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile
Error 10 error LNK2001: unresolved external symbol “public: virtual class TSharedPtr<class IToolTip,0> __cdecl SWidget::GetToolTip(void)” (?GetToolTip@SWidget@@UEAA?AV?$TSharedPtr@VIToolTip@@$0A@@@XZ) C:\Unreal Projects\Exile\Intermediate\ProjectFiles\SPlayerStatsWidget.cpp.obj Exile

All the errors are similar with no easy way to determine the cause of the error. This is just the generated widget code from the editor with no new code added in besides the header include.

I am using the 4.3 preview from the launcher and not the github source if that makes any difference.

If anyone knows how to go about getting Slate to work in 4.3 preview that will be much appreciated.

Thanks

I figured out the problem, I had forgotten to allow the use of Slate lol. Rushed through to try and migrate over the slate UI I forgot the most important part.

Since I have never seen this error as I did everything correctly in 4.2 I did not know that was the problem until it just popped in my head when looking to figure out the problem.

I hope this helps anyone who forgets the same step as me.

Thanks for sharing the solution warlord57! :slight_smile: That has happened to me as well in 4.2.