Download

Wiimote plugin for UE4

20150630114824432.png
68a99927a7378677c6d6d5b17c24357fe070111f.png
20150630115412200.png

I really appreciate your work on this. May I know if your plugin has a version for UE4.8?

Which version are you using? I tried 4.6 to 4.8 , all of them gave me this error: Wiimote plugin cannot be found or in a different version.

Same here, we tried to make this plugin work for several hours with versions 4.6 to 4.7 and nothing helped.

When building manually it logs the following:

WiimotePlugin.cpp(8): error C2514: ‘FWiimoteInputDevice’ : class has no constructors
WiimotePlugin.h(23) : see declaration of ‘FWiimoteInputDevice’

It’s for version 4.2 I think… but still got below error:
2e409a06bbb506bcc7ebc07af0d51c71561a74c3.png

Still nothing…

Anyone got the plugin to work? I’m having the same errors everyone here is having! :open_mouth:

Thanks!

I worked on 4.7, and I will try a clean build of 4.8, thanks for you reply

you can try place the “Wiimote”(not “UE4-Wiimote-Plugin”) under UnrealEngine/Engine/Plugins/ folder, and regenerated the solution/project files.
besides, copy the “wiiuse.dll” into UnrealEngine/Engine/Binaries/Win64/

Thanks for the reply!

Unfortunately I did all like you said and I’m getting the “wiimote could not be compiled. Try rebuilding from source manually.” error when trying to rebuild :frowning:

I’ve tried to compile this plugin for UE 4.8.
But,This error logs appeard.

…\Public\WiimoteFunctionLibrary.h(9) : error C2079: ‘UWiimoteFunctionLibrary’ uses undefined class ‘WIIMOTE_API’
…\Public\WiimoteFunctionLibrary.h(9) : error C2143: syntax error : missing ‘;’ before ‘:’
…\Public\WiimoteFunctionLibrary.h(9) : error C2059: syntax error : ‘:’
…\Public\WiimoteFunctionLibrary.h(9) : error C2059: syntax error : ‘public’
…\Public\WiimoteFunctionLibrary.h(10) : error C2143: syntax error : missing ‘;’ before ‘{’
…\Public\WiimoteFunctionLibrary.h(10) : error C2447: ‘{’ : missing function header (old-style formal list?)
…\Public/WiimoteFunctionLibrary.h(9) : error C2079: ‘UWiimoteFunctionLibrary’ uses undefined class ‘WIIMOTE_API’
…\Public/WiimoteFunctionLibrary.h(9) : error C2143: syntax error : missing ‘;’ before ‘:’
…\Public/WiimoteFunctionLibrary.h(9) : error C2059: syntax error : ‘:’
…\Public/WiimoteFunctionLibrary.h(9) : error C2059: syntax error : ‘public’
…\Public/WiimoteFunctionLibrary.h(10) : error C2143: syntax error : missing ‘;’ before ‘{’
…\Public/WiimoteFunctionLibrary.h(10) : error C2447: ‘{’ : missing function header (old-style formal list?)
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(12) : error C2825: ‘UWiimoteFunctionLibrary’: must be a class or namespace when followed by ‘::’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(12) : error C2039: ‘StaticRegisterNativesUWiimoteFunctionLibrary’ : is not a member of ‘global namespace'' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(12) : error C2146: syntax error : missing ';' before identifier 'StaticRegisterNativesUWiimoteFunctionLibrary' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(12) : error C2182: 'UWiimoteFunctionLibrary' : illegal use of type 'void' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(12) : error C2086: 'int UWiimoteFunctionLibrary' : redefinition ..\\Public/WiimoteFunctionLibrary.h(9) : see declaration of 'UWiimoteFunctionLibrary' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(13) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(14) : error C2825: 'UWiimoteFunctionLibrary': must be a class or namespace when followed by '::' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(14) : error C2039: 'StaticClass' : is not a member of 'global namespace’’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(14) : error C2146: syntax error : missing ‘)’ before identifier ‘StaticClass’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(14) : error C2660: ‘FNativeFunctionRegistrar::RegisterFunction’ : function does not take 1 arguments
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(14) : error C2039: ‘execSetIREnabled’ : is not a member of ‘global namespace'' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(14) : error C2059: syntax error : ')' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(15) : error C2825: 'UWiimoteFunctionLibrary': must be a class or namespace when followed by '::' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(15) : error C2039: 'StaticClass' : is not a member of 'global namespace’’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(15) : error C2146: syntax error : missing ‘)’ before identifier ‘StaticClass’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(15) : error C2660: ‘FNativeFunctionRegistrar::RegisterFunction’ : function does not take 1 arguments
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(15) : error C2039: ‘execSetMotionPlusEnabled’ : is not a member of ‘global namespace'' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(15) : error C2059: syntax error : ')' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(16) : error C2825: 'UWiimoteFunctionLibrary': must be a class or namespace when followed by '::' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(16) : error C2039: 'StaticClass' : is not a member of 'global namespace’’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(16) : error C2146: syntax error : missing ‘)’ before identifier ‘StaticClass’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(16) : error C2660: ‘FNativeFunctionRegistrar::RegisterFunction’ : function does not take 1 arguments
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(16) : error C2039: ‘execSetMotionSensingEnabled’ : is not a member of ‘global namespace'' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(16) : error C2059: syntax error : ')' ..\\Private\WiimoteFunctionLibrary.cpp(5) : error C2825: 'UWiimoteFunctionLibrary': must be a class or namespace when followed by '::' ..\\Private\WiimotePlugin.cpp(8) : error C2514: 'FWiimoteInputDevice' : class has no constructors ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(17) : error C2825: 'UWiimoteFunctionLibrary': must be a class or namespace when followed by '::' ..\\Private\WiimoteFunctionLibrary.cpp(5) : error C2143: syntax error : missing ';' before 'UWiimoteFunctionLibrary' ..\\Public\WiimotePlugin.h(23) : see declaration of 'FWiimoteInputDevice'..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(17) : error C2039: 'StaticClass' : is not a member of 'global namespace’’…\Pr

…\Private\WiimoteFunctionLibrary.cpp(5) : error C2086: ‘int UWiimoteFunctionLibrary’ : redefinition
…\Public\WiimoteFunctionLibrary.h(9) : see declaration of ‘UWiimoteFunctionLibrary’
…\Private\WiimoteFunctionLibrary.cpp(6) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
…\Private\WiimoteFunctionLibrary.cpp(6) : error C2063: ‘UWiimoteFunctionLibrary’ : not a function
…\Private\WiimoteFunctionLibrary.cpp(6) : error C3755: ‘UWiimoteFunctionLibrary’: a delegate may not be defined
…\Private\WiimoteFunctionLibrary.cpp(6) : error C2065: ‘ObjectInitializer’ : undeclared identifier
…\Private\WiimoteFunctionLibrary.cpp(10) : error C2825: ‘UWiimoteFunctionLibrary’: must be a class or namespace when followed by ‘::’

…\Private\WiimoteFunctionLibrary.cpp(10) : error C2039: ‘SetIREnabled’ : is not a member of ‘global namespace'' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(17) : error C2146: syntax error : missing ')' before identifier 'StaticClass' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(17) : error C2660: 'FNativeFunctionRegistrar::RegisterFunction' : function does not take 1 arguments ..\\Private\WiimoteFunctionLibrary.cpp(10) : error C2146: syntax error : missing ';' before identifier 'SetIREnabled' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(17) : error C2039: 'execSetRumbleEnabled' : is not a member of 'global namespace’’…\Private\WiimoteFunctionLibrary.cpp(10) : error C2182: 'UWiimoteFunctionLib

…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(17) : error C2059: syntax error : ‘)’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(18) : error C4508: ‘StaticRegisterNativesUWiimoteFunctionLibrary’ : function should return a value; ‘void’ return type assumed
…\Private\WiimoteFunctionLibrary.cpp(10) : error C2086: ‘int UWiimoteFunctionLibrary’ : redefinition
…\Public\WiimoteFunctionLibrary.h(9) : see declaration of ‘UWiimoteFunctionLibrary’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2923: ‘TClassCompiledInDefer’ : ‘UWiimoteFunctionLibrary’ is not a valid template type argument for parameter ‘TClass’
…\Private\WiimoteFunctionLibrary.cpp(11) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int …\Public/WiimoteFunctionLibrary.h(9) : see declaration of ‘UWiimoteFunctionLibrary’

…\Private\WiimoteFunctionLibrary.cpp(17) : error C4508: ‘SetIREnabled’ : function should return a value; ‘void’ return type assumed
…\Private\WiimoteFunctionLibrary.cpp(19) : error C2825: ‘UWiimoteFunctionLibrary’: must be a class or namespace when followed by ‘::’
…\Private\WiimoteFunctionLibrary.cpp(19) : error C2039: ‘SetMotionPlusEnabled’ : is not a member of ‘`global namespace’’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2514: ‘TClassCompiledInDefer’ : class has no constructors…\Private\WiimoteFunctionLibrary.cpp(19) : error C2146: syntax error : missing ‘;’ before
…\Private\WiimoteFunctionLibrary.cpp(19) : error C2182: ‘UWiimoteFunctionLibrary’ : illegal use of type ‘void’

    c:\program files\epic games\4.8\engine\source\runtime\coreuobject\public\uobject\UObjectBase.h(313) : see declaration of 'TClassCompiledInDefer'

…\Private\WiimoteFunctionLibrary.cpp(19) : error C2086: ‘int UWiimoteFunctionLibrary’ : redefinition
…\Public\WiimoteFunctionLibrary.h(9) : see declaration of ‘UWiimoteFunctionLibrary’
…\Private\WiimoteFunctionLibrary.cpp(20) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
…\Private\WiimoteFunctionLibrary.cpp(26) : error C4508: ‘SetMotionPlusEnabled’ : function should return a value; ‘void’ return type assumed
…\Private\WiimoteFunctionLibrary.cpp(28) : error C2825: ‘UWiimoteFunctionLibrary’: must be a class or namespace when followed by ‘::’
…\Private\WiimoteFunctionLibrary.cpp(28) : error C2039: ‘SetMotionSensingEnabled’ : is not a member of ‘global namespace'' ..\\Private\WiimoteFunctionLibrary.cpp(28) : error C2146: syntax error : missing ';' before identifier 'SetMotionSensingEnabled' ..\\Private\WiimoteFunctionLibrary.cpp(28) : error C2182: 'UWiimoteFunctionLibrary' : illegal use of type 'void' ..\\Private\WiimoteFunctionLibrary.cpp(28) : error C2086: 'int UWiimoteFunctionLibrary' : redefinition ..\\Public\WiimoteFunctionLibrary.h(9) : see declaration of 'UWiimoteFunctionLibrary' ..\\Private\WiimoteFunctionLibrary.cpp(29) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int ..\\Private\WiimoteFunctionLibrary.cpp(35) : error C4508: 'SetMotionSensingEnabled' : function should return a value; 'void' return type assumed ..\\Private\WiimoteFunctionLibrary.cpp(37) : error C2825: 'UWiimoteFunctionLibrary': must be a class or namespace when followed by '::' ..\\Private\WiimoteFunctionLibrary.cpp(37) : error C2039: 'SetRumbleEnabled' : is not a member of 'global namespace’’
…\Private\WiimoteFunctionLibrary.cpp(37) : error C2146: syntax error : missing ‘;’ before identifier ‘SetRumbleEnabled’
…\Private\WiimoteFunctionLibrary.cpp(37) : error C2182: ‘UWiimoteFunctionLibrary’ : illegal use of type ‘void’
…\Private\WiimoteFunctionLibrary.cpp(37) : error C2086: ‘int UWiimoteFunctionLibrary’ : redefinition
…\Public\WiimoteFunctionLibrary.h(9) : see declaration of ‘UWiimoteFunctionLibrary’
…\Private\WiimoteFunctionLibrary.cpp(38) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
…\Private\WiimoteFunctionLibrary.cpp(44) : error C4508: ‘SetRumbleEnabled’ : function should return a value; ‘void’ return type assumed
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2825: ‘UWiimoteFunctionLibrary’: must be a class or namespace when followed by ‘::’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2039: ‘GetPrivateStaticClass’ : is not a member of ‘`global namespace’’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2146: syntax error : missing ‘;’ before identifier ‘GetPrivateStaticClass’@progress ‘Compiling C++ source code…’ 40%

…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2373: ‘UWiimoteFunctionLibrary’ : redefinition; different type modifiers
…\Public/WiimoteFunctionLibrary.h(9) : see declaration of ‘UWiimoteFunctionLibrary’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2065: ‘StaticClassFlags’ : undeclared identifier
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2974: ‘GetPrivateStaticClassBody’ : invalid template argument for ‘TClass’, type expected
C:\Program Files\Epic Games\4.8\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(2402) : see declaration of ‘GetPrivateStaticClassBody’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2440: ‘return’ : cannot convert from ‘UClass *’ to ‘int’
There is no context in which this conversion is possible
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : error C2617: ‘GetPrivateStaticClass’ : inconsistent return statement
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(19) : see declaration of ‘GetPrivateStaticClass’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(133) : error C2825: ‘UWiimoteFunctionLibrary’: must be a class or namespace when followed by ‘::’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(133) : error C2039: ‘StaticClass’ : is not a member of ‘global namespace'' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(133) : error C2146: syntax error : missing ';' before identifier 'StaticClass' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(133) : error C3861: 'StaticClass': identifier not found ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(142) : error C2825: 'UWiimoteFunctionLibrary': must be a class or namespace when followed by '::' ..\\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(142) : error C2039: 'StaticClass' : is not a member of 'global namespace’’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(142) : error C2440: ‘=’ : cannot convert from ‘int’ to ‘UClass *’
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(142) : error C2146: syntax error : missing ‘;’ before identifier ‘StaticClass’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(142) : error C3861: ‘StaticClass’: identifier not found
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(169) : error C2825: ‘UWiimoteFunctionLibrary’: must be a class or namespace when followed by ‘::’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(169) : error C2143: syntax error : missing ‘;’ before ‘UWiimoteFunctionLibrary’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(169) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(169) : error C2086: ‘int UWiimoteFunctionLibrary’ : redefinition
…\Public/WiimoteFunctionLibrary.h(9) : see declaration of ‘UWiimoteFunctionLibrary’
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(169) : error C2063: ‘UWiimoteFunctionLibrary’ : not a function
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(169) : error C3755: ‘UWiimoteFunctionLibrary’: a delegate may not be defined
…\Win64\UE4Editor\Inc\WiimotePlugin\WiimotePlugin.generated.cpp(169) : error C2065: ‘Helper’ : undeclared identifier

719d6212d4492783c509859b8dec11a4c07f204d.png

Hi!
this is the message I get…
I am not able to find any dll file with this name… are you sure to have made one?
do you know where is it?

thanks!

Hello, I installed the plugin on 4.10 and buttons are woking very well. However with vectos Tilt, Gravity, Acceleration and RotationRate have some problems. Actually can’t recieve any value (vector) that is being sent by the plugin.

This what I have:

I am just sending dumy values using Tilt vector when any event happen in the wiimote

&stc=1

Then, configure te proyect use the vector Tilt: Edit->Proyect Settings->Input. Bound Tilt vector with the key “Move”

&stc=1

Now In C++ I am trying to get the value of Tilt bounding the key “Move” with the function Move

&stc=1

Nueva imagen (1).png&stc=1

But in function Move I am getting only zeros.

Any Idea How can recieve the correct of Tilt?

Thanks!! and sorry for myEnglish.

Hi Gustavo,

I’m learning to use Windywang’s plugin as well so I can do VR development without a kit. :slight_smile:

Using Windywang’s example, I was able to get Tilt values. Here are some screenshots I hope will make it clear.

Tilt.PNG

The Tilt event comes from Input -> Motion Event, or you can log the values with Input - Motion Values.

input motion values.PNG

Before this will work, we have to enable the Wiimote features. I am not sure if the character creation section is the best place, maybe Level Blueprint would be better?

Enable Features.PNG

I hope this is useful. This worked on 4.11. Good luck! :slight_smile:

Thank you Windywang for creating this plugin!

My turn to ask a question. :slight_smile:

It looks like there is IR and nunchuk data being logged in UE Log, but I am unable to find these values through any functions. I found where they get sent to the log, but it looks like they need to get passed to an event handler to become useful.

ba0907b11f2d95bf7b9d00b2c9af572c66aac29c.png

Does anyone have any advice on how I should go about exposing these values? I was thinking I could add them in as extra buttons (float axis) on the Wiimote, but as I am a novice of this engine I’m not sure if that is the right approach to take. The other motion values from the wiimote itself are already sent through here.

Any advice would be most welcome. Thanks!

Hey Go_Go,

Thanks for these posts, they’ve been helpful.

I’ve managed to compile 10.4 with the plug-in set up. In plug-ins, I can see Wiimote and enable it. I also recreated your construction script in the BP for the 1st person player.

Not getting any readings from the Wiimote (I’m using an original with nunchuk, it’s paired, first light off, next 3 on, windows is definitely seeing it).

Essentially, I’m really only interested in the nunchuk (doing a project with Occulus DK2 and a Kinect 2 for Windows). I want to use the nunchuk analog stick to control movement and the Z and C buttons for fire / interaction.

Have you made any headway?

Thanks!

ff.

Nevermind guys, solved it a different way.

Hello,

i am trying to use this plugin to move an onscreen mouse. I got it to run, but the the mouse cursor is jumping around. I have no clue why this is. There also quite a bit of lag. Maybe the prints to the log cause the lag?

My question is how can I disable the output to the console? Is there a way without having to compile the plugin again?

t

Hey guy,

to everybody who managed to set up the plugin, I am still encoutering the same error over and over again. The UE4Editor-Wiimote.dll is missing. Please point me in the direction of a solution.

  1. Create a Blank C++ Project
  2. Close the UE-Editor
  3. Download the the Plugin from: https://github.com/xoyojank/UE4-Wiimote-Plugin
  4. Copy the Wiimote folder from the archive into your Plugins-Folder of your Blank C++ Project
  5. Replace the Wiimote.Build.cs with the following **4.18 **updated changes
  6. Right click the ProjectName.uprojectfile inside the root of your project folder and Generate Visual Studio project files
  7. Double-Click ProjectName.sln to open your Blank C++ Project in Visual Studio
  8. Build your project
  9. If needed copy the wiiuse.dll into the UnrealEngine/Epic Games/UE_4.18/Engine/Binaries/Win64 folder
  10. Open your Blank C++ Project, if the Wiimote was found and the controller was initialized you will get a log message (screenshot #1)
  11. Add the Twin Stick** Shooter** example to your project
  12. Map the inputs (screenshot #2) and play!

(Hint: If the UE-Buildtool does not update the includes/dependencies of the copied plugin (compiler errors in VS), open the project in the Editor and go to ***File->Refresh Visual Studio Project. ***Close the Editor and open or reload the VS-Project again.)

ue_forum_wiimote_log.PNG

**ue_forum_wiimote_keymapping.PNG

4.18 Project-File**



// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
using System.IO;
using System;
using UnrealBuildTool;

public class Wiimote : ModuleRules
{
    private string ModulePath
    {
        get { return Path.GetDirectoryName(ModuleDirectory); }
    }

    private string ThirdPartyPath
    {
        get { return Path.GetFullPath(Path.Combine(ModulePath, "../ThirdParty/")); }
    }

    public Wiimote(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        PublicIncludePaths.AddRange(
            new string] {
                "Wiimote/Public"
                // ... add public include paths required here ...
            }
            );


        PrivateIncludePaths.AddRange(
            new string] {
                "Wiimote/Private",
                // ... add other private include paths required here ...
            }
            );


        PublicDependencyModuleNames.AddRange(
            new string]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "ApplicationCore",
                "InputDevice",
                "InputCore",
                // ... add other public dependencies that you statically link with here ...
            }
            );


        PrivateDependencyModuleNames.AddRange(
            new string]
            {
                // ... add private dependencies that you statically link with here ...    
            }
            );


        DynamicallyLoadedModuleNames.AddRange(
            new string]
            {
                // ... add any modules that your module loads dynamically here ...
            }
            );

        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            PublicAdditionalLibraries.Add(Path.Combine(ThirdPartyPath, "WiiUse\\lib\\Win64", "wiiuse.lib"));

            PrivateIncludePaths.Add(Path.Combine(ThirdPartyPath, "WiiUse\\inc"));
        }

        PublicDelayLoadDLLs.Add("wiiuse.dll");
    }
}


I hope I could help!

Can anyone say me how to get XY coordinates from Wiimote? Want to use it as a mouse as well.