3 New Plugins - Joystick/HOTAS Support, Blueprint Easing Functions, Saitek X52 Pro

I ran the above program that is included with Logitech SDK. Can you use the info in your Joystick Plugin?

I definitely could if I owned that particular wheel but it would unfortunately take some time for me to put it together correctly. Aside from the Xbox 360 Racing Wheel, I don’t really have any others to test with either to really make sure it works and supports other wheels out there. In the end I’d have to create a separate plugin to do what my Joystick Plugin does. Though if I ever create a Racing Wheel plugin, I’ll definitely release it to the community. Take it easy.

MC Stryker, Can you send me the source code for the Joystick Plugin?

Hey, I don’t seem to be able to get this to display in game, just want to check I am putting it in the right location -

C:\Program Files\Unreal Engine\4.2\Engine\Plugins\JoystickPlugin

Thanks for your help, looking forward to playing with it if I can get over this hurdle XD

On windows, the device arrival is via the window message DBT_DEVICEARRIVAL.

The Rift Plugin already has a message handler which gets informed by the libOVR SDK.

I got a G940 & G27 to play around with. So I will try grabbing this and testing it on that later this week.

PS: Can you put your source code on GitHub? Would make it easy to contribute. :slight_smile:

Awesome, after you unzipped it to the Plugins folder, did you go to the Plugins window and enable the plugin?

Hey Hormis, thanks for the heads up on the message handler. I was wondering about that. I’ll take a look at that and try to get that integrated so you can plug/unplug a Joystick at any point and it should still work.

I will be posting the code to GitHub for everyone in the future but I’m a little slammed at the moment and need to clean up some of the code/comments before I release it. I will let you know as soon as I do :slight_smile:

This plugin is exactly what I needed, thank you very much.

I’m having a weird issue, however. Each time I restart the editor my Blueprint that makes the JoystickState instance is broken.
It compiles fine and is working great until I restart the editor and suddenly all pins are broken:

Do you have any idea what is causing this?

Hey simmania,

Let’s see… what I can tell from this is that it’s saying at the top that the JoystickPlugin is not referenced. I saw that commonly in my testing when I would turn it off or let’s say when I just upgraded to a new version of the editor or for testing and I would have the JoystickState class referenced. That’s odd that it is every time you restart the editor. Go to you Plugins window and check when it says this if the plugin is enabled. I am guessing it’s probably not for some odd reason. Try re-enabling it if its disabled and see if that works. I’ve never seen a plugin go disabled after enabling it since it restarts the editor and saves the change. That’s weird. Let me know if what you uncover and I’ll try to keep an eye out on this post and see if I can help you get it working.

Thanks Matt.
The strange thing is that the plugin is not broken after the errors. Just the Blueprint nodes in that particular BluePrint are broken. When I replace them with ‘fresh’ instances everything works again.
I’ve tried using blueprints that inherit from Pawn or Actor, but it makes no difference. It seems like the plugin is loaded after Blueprint is loaded.
I’m using UE4.2.1. The plugin is enabled. Re-enabling had no effect.

Can I reference these functions in C++ also? It would be easier and avoid the problem of using Blueprint at all.

EDIT:
Okay, the problem seems to lie in the Blueprint that inherits from a custom C++ class that inherits from Pawn. If this Blueprint has a reference to anything of your plugin, everything becomes broken.
I worked around the issue by creating another JoystickInput Blueprint and letting JoystickInput have a reference to the blueprint with parent C++ class.

EDIT2:
I’ve found another bug: if I move the Create Joystick State function to the construction script, I get the following error when saving the map:



Can't save C:/Users/simmania/Documents/Unreal Projects/Project/Content/Maps/Minimal_Default.umap: Graph is linked to object(s) in external map.
External Object(s):
JoystickState_6
/Engine/Transient
  
Try to find the chain of references to that object (may take some time)?


Hey MC,

So I finally got around to testing this. Is there a way I can distribute the plugin inside the project files / working directory, as opposed to built in to the engine’s ‘Plugins’ folder? It would be easier for my artists, who also need to keep their version/plugins in line with mine, to stay up to date if we could just add the files to the project and throw it all up on our Perforce server.

I was prompted to ask this by the plugins window in the editor - one says installed, and the other ‘built in’. If we put plugins in the folder you specified, they’re in the latter category. Is the former category what I need?

Thanks!

EDIT: /Game Project/Plugins/Plugin Folder/. Got it! Shows up as expected.

Sorry about the delayed response simmania. I’m curious if some of this that you are experiencing has to do that it was compiled for 4.2.0. That’s weird that re-enabling it had no effect. I believe if you were to reference these in C++, you would need the lib and header files. I haven’t messed around with the plugin lately as I’ve been trying to nail out some content for my prototype but was going to get back to it shortly. Once 4.3 is released, I will jump in and attempt to replicate some of what you are experiencing currently and see if I can get these bugs taken care of. If I have any problems replicating this, I will reach out to you directly so I setup things the way you have it going at the moment. Lets try to shoot on me having an updated version somewhere around a week following the release of 4.3. Once I get to it though, I’ll keep you all posted on the status and I’ll try to incorporate some of the feedback to make it better for you guys.

Hey , droping it in the local Game plugins folder worked? I haven’t tried this yet. :slight_smile:

Sorry, should have replied before saying that I got it all working over here, is really awesome for flying around with so thanks a lot!
Looking forward to 4.3 and beyond, hopefully one day it wont get broken each release :slight_smile:

I bought CronusMAX device that allows you to use any gaming controllers on any video game consoles and PCs. Using GTuner version 3.06B software and version 1.62 of firmware for the device, I can use my Logitech G27 Racing wheel on PC for PC games that support only XInput gamepads (XBox 360 and XBox One) and on Xbox 360 for driving games.

http://controllermax.com

Hey there,

I’m back from vacation and tried to update to UE4.4. Unfortunately the plugin seems broken now!
Have you found some time to work on it?

Hi, I’ve been able to use the Joystick plugin and incorporate it into a FPS project. It works fine for movement, axis changes, but I cannot get the button pressed event to fire. I thought the plugin wasn’t aware of my buttons hit, but looking at the defaults tab in my custom JoystickState class, I noticed that buttons’ values change for the four first of the 128 buttons. It can even detect when I’m pressing several buttons at the same time as you can see in the right side of the attached picture.

Does anyone can light up the thing I’m missing here please?

And there’s also something weird. If I get the buttons of a Joystick I get a zero length array. Is that normal?
Hope to hear from you guys soon.

Thank you

Hey, i wanted to download the plugins fews days ago but links were dead, so i decided to wait some days more, but they are still dead. Do you have any alternate links please ? Thanks

Great stuff! Can’t wait to try it out!

Anyone have a working download link for the joystick plugin? The original doesn’t seem to work anymore.

Any word on this for 4.4/4.5?