Joysticks

Any plans to get joystick support in UE4? I know there’s plugins available from the community but I’d rather use something that was built into the engine.

Currently it doesn’t even recognise my saitek cyborg.

+1
Need it please.

Yeah I’d kind of like to see this too. I guess the trouble is there’s no one-driver-for-all-sticks kind of thing, so I imagine most of the time you’ll need the Joystick SDK and have to make a plugin.

I’m guessing you’ve tried the ‘Gamepad’ input bindings to no avail?

Flamouth, nice down there, certainly better than up here in the big smoke :slight_smile:

So does UE4 not use directinput? My joystick is quite old but it is USB, every other emulator/game picks it up, even Unity picked it up. To be honest I don’t really know alot directinput and how UE4 works in regards to peripherals. Seems odd how it can pick up Occulus Rift’s and motion controllers but not the grand old master of gaming that is the joystick.

I did try the gamepad bindings but it doesn’t pick up any input from the joystick on the axis or the buttons unfortunately. Is UE4 using Xinput instead?

I honestly don’t know I’ve never looked that far into it. Somebody was developing a Saitek Cyborg plugin and posted about it on Answerhub. Buggered if I can find it now though!

And yeah Falifornia is pretty nice :smiley:

I did find a couple of plugins but didn’t fancy doing a project that relied on third party plugins.

Oh well I’ll stick with the 360 pad for the time being. Even though it’s rubbish for slight consistent movement. Then again that might just be the old age catching up with me and my hand eye coordination going to pot.

Kind of embarrassing not being very good at your own game :slight_smile:

+1 for joysticks support.

Yeah I’ve seen it and also the problems with it. That’s why I don’t want to use a third party plugin :slight_smile:

Seems daft to.have a next gen games engine that only supports limited joypads and no joysticks.

Joystick support was requested just a while ago here: Joystick Support - Feedback & Requests - Epic Developer Community Forums . It would make sense to keep the discussion in one thread so everyone who’s following the original thread would get notified as well.

UE4 uses XInput on Windows. So old DirectInput devices will not get recognized.

I know that iOS and Linux OS don’t use DirectX so how do these operating get input from gaming controllers?

or maybe reverse logic, the more threads there are the more notice they might take :wink:

Be nice to add Directinput support if it’s possible, guessing it’s maybe not so easy if Windows only supports XInput.

Not that I’m complaining I’m more than grateful with what the engine already offers, just would be nice to see support for joysticks. Give me wrist cramp from overuse of the thrustmaster over a brain hemorrhage from an Occulus Rift anyday.

Edit: After having read up on Directinput/Xinput i can deduce that Microsoft are tossers.

Hey Guys,

I created a plugin a while ago that already does this but I’ve been extremely busy and haven’t updated it yet. It works great except the last two things I had left to implement before releasing it was Hot Reload, which I think I had figured out a solution but need to revist and also multi-stick support. I recently got a X55 so when things open up, I can try it against that and my X52 and also together.

I will try to get something out in the near future and try to keep you guys posted on this. I’ve been in crunch atm on a game coming out this summer so I haven’t gotten to work on that project that uses that plugin for a little while. I may not be able get around to it until a couple weeks attempt to do a pull request and just integrate it directly into the engine. One of the first things I did back when 4.0.0 came out was make this plugin since the engine lacked the support but I never did an official release aside from releasing a couple early versions to some members of the community.

I’ll try to keep you guys posted hopefully sooner than later :smiley:

EDIT: May have a moment this weekend and if so, I’ll do a pull request and start trying to get this directly implemented into the engine. I’m going to try and prioritize this since that plugin is pretty much 90-95% good to go and will support any device that DirectInput detects as a Joystick. Any of you that are heavily reliant on this, feel free to reach out to me directly in case I get tied up.

Thank you, this is great :slight_smile:

Good stuff. Yeah if you get that into the main source code it would be a God send :slight_smile:

Hey Guys,

Hope everyone out there is having a good Monday! I just wanted to update you on the latest. I got a little tied up but this week I’ll be starting on picking up my latest version and getting it ready for the engine. I’m going to try and have an update by this weekend here on this thread so definitely keep your eyes peeled. What I’m going to also do is reach out to a couple Epic Staff members I’ve spoken with in the past and see if I put in the effort to integrate it directly into the engine, to see if this is something that Epic would be interested and support. I don’t see why not since myself, all of you and a ton of others have begged for this support literally since it was available 2 years ago. But either way no matter what, I’ll definitely have an integration available for you guys in some form.

I’ll keep you all posted on this but just wanted to toss a quick update your way! Take it easy guys :smiley:

UPDATE: Spoke to Alexander Paschall over at Epic about doing this and its possible it may be accepted. Marc Audy is going to take a look and see if it would merge well with the engine and it might not be directly integrated due to some strict requirements. If it doesn’t get accepted, I’ll be publishing the source code for everyone on GitHub. Stay tuned and hope everyone is having a great week!

UPDATE 3/1: Hey Guys, just wanted to let you know that this is currently underway. Already forked/cloned the engine code and working on a local version before checking in some of the code. I’ll try to keep you guys posted on the progress. Take it easy!

UPDATE 3/6:

New Update:

Got my code up and running in 4.11.0 (Release Branch) and its working great so far! Before when I tested this last, I had my X52 Pro hooked up both the Throttle and Joystick were detected since it saw them as a singular device. Right now I have my Saitek X55 hooked up and since both the Throttle/Joystick have their own USB cable, they come up as two different devices. I’m working on getting multi-device support up and running and my X55 will be a good test for that. I can later pull out the X52 and try both together but this should be reliable once I get the feature in.

Hey Everyone,

Just wanted to post you all an update! I’m knee-deep in getting a build ready of a game for PAX so time has been tight. However on a good note, I was able to spend some time today modifying the code some bit and made some updates in getting support in for multiple joysticks. Between now and the end of the month when PAX is, I may not be able to get back to everyone with an update. Stay tuned though because after PAX, I’ll be putting in the rest of the multi-device support and then move onto the last feature which is catching the windows device events and supporting Hot-Reload. Shouldn’t be that much more work left but once PAX ends and I get back then I can wrap this up.

One thing I’m going to support when finishing the multi-device support is allowing you to either gather data from a single controller index or have a state that combines all the data from all Joysticks into a single state. This would be useful for supporting different scenarios including the Saitek X55.

But anyways, once this is complete, I’ll complete the Pull Request and see what Epic thinks. Also that day I finish the pull request, I’ll put up a special present for those on GitHub since many of you have been waiting a while for this, where I’ll release the full source for my Saitek X52 Pro plugin that will control the LEDS and send text to the MFD in case you guys still have one handy and/or still use it :wink:

Just wanted to keep everyone informed and hope to share more in the near future! :smiley:

FYI, the pre-existing JoystickPlugin (SDL version) can be found at GitHub - SamPersson/UEJoystickPlugin: Unofficial Joystick Plugin for the Unreal Engine

Great stuff Styker :slight_smile:

Did this thread just die ? We don’t seem to have built in support for joysticks, I need it for the mac …

4.15 contains a RawInput plugin which should provide the kinds of joystick access that was being discussed here in the past.