Download

Include Widget Interaction to previous Unreal

Hello everyone,

Since a few weeks I am struggling on UI interaction in VR.

I just found that for Unreal 4.13 there will be a new component Widget Interaction that do exactly the job! Even better, I succeed to make it works over Unreal promoted engine version.
https://forums.unrealengine.com/showthread.php?89239-Resolved-Can-t-interact-with-3d-UMG-widgets

Now I would like to bring that feature into my custom engine (which is in 4.12.1).
I did try to copy/past/compile the WidgetInteractionComponent.h and .cpp but it doesn’t seams to be enough. And there isn’t any other reference to some widget interaction things (but in StutorialOverlay… did I need that?)

Could you advice me?

Thanks a lot

Ok, if I add Widget component c++ code to my project (from add C++ code inside the engine), I am not able to add the new created component to any actor

I need to add UCLASS(ClassGroup=Experimental, meta=(BlueprintSpawnableComponent, DevelopmentStatus=Experimental) ) to see my widget into the editor. Ok

****, if I try to compile, there is FSlateVirtualUser missing. Apparently, I have to get it back from the unreal engine, within SlateApplication.cpp and .h…

I comment out all FSlateVirtualUser (which doesn’t seams to be blocking regarding the code)
Then I had to adapt all FPointerEvent because it use a constructeur that doesn’t exist yet.
Still, I got now those incomprehensible errors :

Gravité Code Description Projet Fichier Ligne État de la suppression
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetAndPointer::~FWidgetAndPointer(void)” (_imp??1FWidgetAndPointer@@QEAA@XZ) rÚfÚrencÚ dans la fonction “void __cdecl DestructItems<struct FWidgetAndPointer>(struct FWidgetAndPointer *,int)” (??$DestructItems@UFWidgetAndPointer@@@@YAXPEAUFWidgetAndPointer@@H@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::FWidgetPath(void)” (_imp??0FWidgetPath@@QEAA@XZ) rÚfÚrencÚ dans la fonction “public: __cdecl UWidgetInteractionComponent::UWidgetInteractionComponent(class FObjectInitializer const &)” (??0UWidgetInteractionComponent@@QEAA@AEBVFObjectInitializer@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::FWidgetPath(void)” (_imp??0FWidgetPath@@QEAA@XZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\MyProject.generated.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::FWidgetPath(class TArray<struct FWidgetAndPointer,class FDefaultAllocator>)” (_imp??0FWidgetPath@@QEAA@V?$TArray@UFWidgetAndPointer@@VFDefaultAllocator@@@@@Z) rÚfÚrencÚ dans la fonction “protected: void __cdecl UWidgetInteractionComponent::SimulatePointerMovement(void)” (?SimulatePointerMovement@UWidgetInteractionComponent@@IEAAXXZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu "__declspec(dllimport) public: bool __cdecl FWidgetPath::IsValid(void)const " (_imp?IsValid@FWidgetPath@@QEBA_NXZ) rÚfÚrencÚ dans la fonction “protected: void __cdecl UWidgetInteractionComponent::SimulatePointerMovement(void)” (?SimulatePointerMovement@UWidgetInteractionComponent@@IEAAXXZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::~FWidgetPath(void)” (_imp??1FWidgetPath@@QEAA@XZ) rÚfÚrencÚ dans la fonction “public: __cdecl UWidgetInteractionComponent::UWidgetInteractionComponent(class FObjectInitializer const &)” (??0UWidgetInteractionComponent@@QEAA@AEBVFObjectInitializer@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::~FWidgetPath(void)” (_imp??1FWidgetPath@@QEAA@XZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\MyProject.generated.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: class FWidgetPath & __cdecl FWidgetPath::operator=(class FWidgetPath &&)” (_imp??4FWidgetPath@@QEAAAEAV0@$$QEAV0@@Z) rÚfÚrencÚ dans la fonction “protected: void __cdecl UWidgetInteractionComponent::SimulatePointerMovement(void)” (?SimulatePointerMovement@UWidgetInteractionComponent@@IEAAXXZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWeakWidgetPath::FWeakWidgetPath(class FWidgetPath const &)” (_imp??0FWeakWidgetPath@@QEAA@AEBVFWidgetPath@@@Z) rÚfÚrencÚ dans la fonction “public: __cdecl UWidgetInteractionComponent::UWidgetInteractionComponent(class FObjectInitializer const &)” (??0UWidgetInteractionComponent@@QEAA@AEBVFObjectInitializer@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWeakWidgetPath::FWeakWidgetPath(class FWidgetPath const &)” (_imp??0FWeakWidgetPath@@QEAA@AEBVFWidgetPath@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\MyProject.generated.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu "__declspec(dllimport) public: class FWidgetPath __cdecl FWeakWidgetPath::ToWidgetPath(enum FWeakWidgetPath::EInterruptedPathHandling::Type,struct FPointerEvent const *)const " (_imp?ToWidgetPath@FWeakWidgetPath@@QEBA?AVFWidgetPath@@W4Type@EInterruptedPathHandling@1@PEBUFPointerEvent@@@Z) rÚfÚrencÚ dans la fonction “public: virtual void __cdecl UWidgetInteractionComponent::PressPointerKey(struct FKey)” (?PressPointerKey@UWidgetInteractionComponent@@UEAAXUFKey@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWeakWidgetPath::~FWeakWidgetPath(void)” (_imp??1FWeakWidgetPath@@QEAA@XZ) rÚfÚrencÚ dans la fonction “int public: __cdecl UWidgetInteractionComponent::UWidgetInteractionComponent(class FObjectInitializer const &)'::1’::dtor$3” (?dtor$3@?0???0UWidgetInteractionComponent@@QEAA@AEBVFObjectInitializer@@@Z@4HA) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWeakWidgetPath::~FWeakWidgetPath(void)” (_imp??1FWeakWidgetPath@@QEAA@XZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\MyProject.generated.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: class FWeakWidgetPath & __cdecl FWeakWidgetPath::operator=(class FWeakWidgetPath &&)” (_imp??4FWeakWidgetPath@@QEAAAEAV0@$$QEAV0@@Z) rÚfÚrencÚ dans la fonction “protected: void __cdecl UWidgetInteractionComponent::SimulatePointerMovement(void)” (?SimulatePointerMovement@UWidgetInteractionComponent@@IEAAXXZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FReply::~FReply(void)” (_imp??1FReply@@QEAA@XZ) rÚfÚrencÚ dans la fonction “public: virtual void __cdecl UWidgetInteractionComponent::PressPointerKey(struct FKey)” (?PressPointerKey@UWidgetInteractionComponent@@UEAAXUFKey@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: static bool __cdecl FSlateApplication::IsInitialized(void)” (_imp?IsInitialized@FSlateApplication@@SA_NXZ) rÚfÚrencÚ dans la fonction “public: virtual void __cdecl UWidgetInteractionComponent::BeginPlay(void)” (?BeginPlay@UWidgetInteractionComponent@@UEAAXXZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: static class FSlateApplication & __cdecl FSlateApplication::Get(void)” (_imp?Get@FSlateApplication@@SAAEAV1@XZ) rÚfÚrencÚ dans la fonction “public: virtual bool __cdecl UWidgetInteractionComponent::PressKey(struct FKey,bool)” (?PressKey@UWidgetInteractionComponent@@UEAA_NUFKey@@_N@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: bool __cdecl FSlateApplication::ProcessKeyCharEvent(struct FCharacterEvent &)” (_imp?ProcessKeyCharEvent@FSlateApplication@@QEAA_NAEAUFCharacterEvent@@@Z) rÚfÚrencÚ dans la fonction “public: virtual bool __cdecl UWidgetInteractionComponent::PressKey(struct FKey,bool)” (?PressKey@UWidgetInteractionComponent@@UEAA_NUFKey@@_N@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: bool __cdecl FSlateApplication::ProcessKeyDownEvent(struct FKeyEvent &)” (_imp?ProcessKeyDownEvent@FSlateApplication@@QEAA_NAEAUFKeyEvent@@@Z) rÚfÚrencÚ dans la fonction “public: virtual bool __cdecl UWidgetInteractionComponent::PressKey(struct FKey,bool)” (?PressKey@UWidgetInteractionComponent@@UEAA_NUFKey@@_N@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: bool __cdecl FSlateApplication::ProcessKeyUpEvent(struct FKeyEvent &)” (_imp?ProcessKeyUpEvent@FSlateApplication@@QEAA_NAEAUFKeyEvent@@@Z) rÚfÚrencÚ dans la fonction “public: virtual bool __cdecl UWidgetInteractionComponent::ReleaseKey(struct FKey)” (?ReleaseKey@UWidgetInteractionComponent@@UEAA_NUFKey@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: class FReply __cdecl FSlateApplication::RoutePointerDownEvent(class FWidgetPath &,struct FPointerEvent &)” (_imp?RoutePointerDownEvent@FSlateApplication@@QEAA?AVFReply@@AEAVFWidgetPath@@AEAUFPointerEvent@@@Z) rÚfÚrencÚ dans la fonction “public: virtual void __cdecl UWidgetInteractionComponent::PressPointerKey(struct FKey)” (?PressPointerKey@UWidgetInteractionComponent@@UEAAXUFKey@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: class FReply __cdecl FSlateApplication::RoutePointerUpEvent(class FWidgetPath &,struct FPointerEvent &)” (_imp?RoutePointerUpEvent@FSlateApplication@@QEAA?AVFReply@@AEAVFWidgetPath@@AEAUFPointerEvent@@@Z) rÚfÚrencÚ dans la fonction “public: virtual void __cdecl UWidgetInteractionComponent::ReleasePointerKey(struct FKey)” (?ReleasePointerKey@UWidgetInteractionComponent@@UEAAXUFKey@@@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: bool __cdecl FSlateApplication::RoutePointerMoveEvent(class FWidgetPath const &,struct FPointerEvent &,bool)” (_imp?RoutePointerMoveEvent@FSlateApplication@@QEAA_NAEBVFWidgetPath@@AEAUFPointerEvent@@_N@Z) rÚfÚrencÚ dans la fonction “protected: void __cdecl UWidgetInteractionComponent::SimulatePointerMovement(void)” (?SimulatePointerMovement@UWidgetInteractionComponent@@IEAAXXZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: class FReply __cdecl FSlateApplication::RouteMouseWheelOrGestureEvent(class FWidgetPath const &,struct FPointerEvent const &,struct FPointerEvent const *)” (_imp?RouteMouseWheelOrGestureEvent@FSlateApplication@@QEAA?AVFReply@@AEBVFWidgetPath@@AEBUFPointerEvent@@PEBU4@@Z) rÚfÚrencÚ dans la fonction “public: virtual void __cdecl UWidgetInteractionComponent::ScrollWheel(float)” (?ScrollWheel@UWidgetInteractionComponent@@UEAAXM@Z) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu "public: virtual bool __cdecl FInputEvent::IsPointerEvent(void)const " (?IsPointerEvent@FInputEvent@@UEBA_NXZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu "public: virtual bool __cdecl FPointerEvent::IsPointerEvent(void)const " (?IsPointerEvent@FPointerEvent@@UEBA_NXZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu "public: virtual class FText __cdecl FCharacterEvent::ToText(void)const " (?ToText@FCharacterEvent@@UEBA?AVFText@@XZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu "public: virtual class FText __cdecl FInputEvent::ToText(void)const " (?ToText@FInputEvent@@UEBA?AVFText@@XZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu "public: virtual class FText __cdecl FKeyEvent::ToText(void)const " (?ToText@FKeyEvent@@UEBA?AVFText@@XZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu "public: virtual class FText __cdecl FPointerEvent::ToText(void)const " (?ToText@FPointerEvent@@UEBA?AVFText@@XZ) MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK1120 26 externes non rÚsolus MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Binaries\Win64\UE4Editor-MyProject.dll 1
Erreur Failed to produce item: C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Binaries\Win64\UE4Editor-MyProject.dll MyProject C:\Users\Barzorke\Documents\Unreal Projects\MyProject\Intermediate\ProjectFiles\ERROR 1
Erreur MSB3075 La commande ““C:\Program Files (x86)\Epic Games\4.12\Engine\Build\BatchFiles\Build.bat” MyProjectEditor Win64 Development “C:\Users\Barzorke\Documents\Unreal Projects\MyProject\MyProject.uproject” -waitmutex” s’est arrêtée avec le code 5. Assurez-vous que vous disposez de droits suffisants pour exécuter cette commande. MyProject C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 37
1

Hugrrblbllbl

I am trying to just take the minimum code I need, and come with an error on this simple line :

FWeakWidgetPath LastWigetPath;

Gravité Code Description Projet Fichier Ligne État de la suppression
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::~FWidgetPath(void)” (_imp??1FWidgetPath@@QEAA@XZ) rÚfÚrencÚ dans la fonction “public: __cdecl UWidgetInteractionComponent::UWidgetInteractionComponent(class FObjectInitializer const &)” (??0UWidgetInteractionComponent@@QEAA@AEBVFObjectInitializer@@@Z) wick E:\wick\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::~FWidgetPath(void)” (_imp??1FWidgetPath@@QEAA@XZ) wick E:\wick\Intermediate\ProjectFiles\wick.generated.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::FWidgetPath(void)” (_imp??0FWidgetPath@@QEAA@XZ) rÚfÚrencÚ dans la fonction “public: __cdecl UWidgetInteractionComponent::UWidgetInteractionComponent(class FObjectInitializer const &)” (??0UWidgetInteractionComponent@@QEAA@AEBVFObjectInitializer@@@Z) wick E:\wick\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWidgetPath::FWidgetPath(void)” (_imp??0FWidgetPath@@QEAA@XZ) wick E:\wick\Intermediate\ProjectFiles\wick.generated.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWeakWidgetPath::~FWeakWidgetPath(void)” (_imp??1FWeakWidgetPath@@QEAA@XZ) rÚfÚrencÚ dans la fonction “public: virtual __cdecl UWidgetInteractionComponent::~UWidgetInteractionComponent(void)” (??1UWidgetInteractionComponent@@UEAA@XZ) wick E:\wick\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWeakWidgetPath::~FWeakWidgetPath(void)” (_imp??1FWeakWidgetPath@@QEAA@XZ) wick E:\wick\Intermediate\ProjectFiles\wick.generated.cpp.obj 1
Erreur LNK2019 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWeakWidgetPath::FWeakWidgetPath(class FWidgetPath const &)” (_imp??0FWeakWidgetPath@@QEAA@AEBVFWidgetPath@@@Z) rÚfÚrencÚ dans la fonction “public: __cdecl UWidgetInteractionComponent::UWidgetInteractionComponent(class FObjectInitializer const &)” (??0UWidgetInteractionComponent@@QEAA@AEBVFObjectInitializer@@@Z) wick E:\wick\Intermediate\ProjectFiles\WidgetInteractionComponent.cpp.obj 1
Erreur LNK2001 symbole externe non rÚsolu “__declspec(dllimport) public: __cdecl FWeakWidgetPath::FWeakWidgetPath(class FWidgetPath const &)” (_imp??0FWeakWidgetPath@@QEAA@AEBVFWidgetPath@@@Z) wick E:\wick\Intermediate\ProjectFiles\wick.generated.cpp.obj 1
Erreur MSB3075 La commande “E:\unreal\Engine\Build\BatchFiles\Build.bat wickEditor Win64 Development “E:\wick\wick.uproject” -waitmutex” s’est arrêtée avec le code 5. Assurez-vous que vous disposez de droits suffisants pour exécuter cette commande. wick C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 37
Erreur Failed to produce item: E:\wick\Binaries\Win64\UE4Editor-wick.dll wick E:\wick\Intermediate\ProjectFiles\ERROR 1
Erreur LNK1120 4 externes non rÚsolus wick E:\wick\Binaries\Win64\UE4Editor-wick.dll 1

Check it before you wreck it!!! :slight_smile:

this is what you want for now…

VR UMG Compatibility Plugin! - VR and AR Development - Unreal Engine Forums!