i’ve made a Logitech G27 steering wheel plugin for UE 4.7.6, based on the one made by ENiKS (Thread).
It supports all buttons and input axes/sliders as input mappings and events in blueprints. All the force feedback functionality is exposed as well, programmable via Blueprints too.
Can confirm plugin works for 4.10, tested in 4.7.6 before I worked on porting it over to 4.10.
Plugin works like a real charm! OP and ENiKS, you guys are dope
In order to port the plugin successfully in 4.10, you need to replace the WheelLib.lib that is found in G27Plugin/ThirdParty/G27Lib/Libraries folder with a new one that is compiled in Visual Studio 15.
Since the zip file that OP provides do not contain the .cpp and .h files that you need to build for WheelLib.lib, download and unzip the files from ENiKS’s thread. Navigage to the WheelLib folder in the unzipped folder and open WheelLib.vcxproj. Go to the Build tab at the top and select “Configuration Manager”. In the “Configuration” column in the manager, select “Release” from the drop-down list. Ensure that you select the correct platform for which you are building the library, depending on whether you are running 32 or 64-bit UE4. Afterwards, close the manager and select “Build WheelLib” from the Build tab.
Open up your project in the UE4 Editor and select “New C++ Class” from the File tab. Select “Player Controller” and press Next, then create a name for your class and press Create Class. This will trick UE4 into thinking that your project is a code project and create the binaries for you. Create a “Plugins” folder in the same directory as your “Content” folder in your project. Download OP’s zip package and unzip to the “Plugins” folder. As I mentioned earlier, the WheelLib.lib file found in the folder specified above must be replaced with the one you have just compiled. Then, in the VS that has been opened for you after creating your new Player Controller class, go to the Build tab and build your project.
Once again, cheers to OP and ENiKS!
P.S. If both of you have a donation link each, I am more than willing to show a small token of appreciation of the great work
When you say “Create a “Plugins” folder in the same directory as your “Content” folder in your project.” Do you mean your unreal project folder that’s stored in your documents ? Just to check because this method doesn’t seem to work with me.
Also when you say “op’s” zip package you mean the whiten01se one right? I had an issue with that because in that zip file the .lib file is name differently than the wheelLib.lib file, did you still just replace the original file called “LigitecG27Lib.lib”?
Thank you!
I’m curious about this too. The instructions seem straightforward but I’m running into some snags. I can follow up to half-way through the second large paragraph where it talks about where to use the newly compiled WheelLib.lib. I believe the correct place is \whiten01se-logitechg27\ThirdParty\LogitechG27Lib\Libraries\LogitechG27Lib.lib. I renamed my WheelLib.lib to LogitechG27Lib.lib and put it in its place.
When I add the new class to my project and it opens in VS, it fails to build the project. This is after I add the plugin folder with the new lib in it into the new Plugins folder I created next to the Content folder (in the project’s root).
This is the error I receive:
I didn’t see any “LogitecG27Lib.lib”, only “WheelLib.lib”. But if that’s the case, I suppose its just a matter of naming conventions that should not really matter too much.
Haven’t used this plugin for quite some time, but IIRC, the main issue is that the WheelLib.lib provided by whiten01se(OP) is that it is compiled in VS2013 rather than VS2015 that works with 4.10. You can use the plugin without any hiccups if you download the 4.7.6 version of UE4 and store the plugin in the Plugins folder for any project created within that version.
If you are looking to compile for the 4.10 version, the WheelLib.lib in G27Plugin/ThirdParty/G27Lib/Libraries from OP’s zip files needs to be replaced. The above pic shows the exposed C++ libraries that are all compiled into the WheelLib.lib, and this unzipped folder is taken from EniKS’s thread. All you need to do is to open the WheelLib VC++ project in VS2015 and compile it. And then copy over to the Libraries folder, and follow the rest of the steps in the earlier post and you should be good to go. Hope this clarifies my earlier post if it seems too fuzzy for you guys
So I have a bit of an issue, I downloaded EniKs original files from his thread and recompiled the WheelLib.vcxproj (the wheellib.Lib file doesnt show any changes is that an issue?)
Then I downloaded Whiten’s file from his bitbucket, in his file when you open it up you get some files I’m not sure what I should do with. Under Whiten>Thirdparty>LogitechG27Lib
If I follow what is being said in the previous comments, where under Whiten>Plugins>LogitechG27>Thirdparty>LogitechG27Lib>libraries, replace the existing LogitechG27Lib.Lib with the updated WheelLib.Lib and I change its name. I noticed before clicking on libraries there was another folder called includes that has a LogitechG27Lib.h file.
When compiling the project, I am given an error in line 5 of a file called LogitechG27Device.h, saying that LogitechG27Lib.h file/directory does not exist. I found this “LogitechG27Device.h” file under Whiten>Plugins>LogitechG27>Source>Private and I opened it in MVS and I found that it had #included LogitechG27Lib.h in its header.
So I assume I am meant to replace that as well? If I placed that Lib.h file in the same folder of the LogitechG27Device.h folder, it didnt give me the error that the file was missing but it gave me new errors.
I’ve had several people asking me about this, so for newcomers who are seeing this, I’m just gonna leave this link here:
Its a generic plugin that works for many controllers, including the G27 steering wheel. Force feedback isn’t present though, you will only get the auto-centering spring effect.