[5.1.1] Unity supports ALL PlayStation Controllers, why can't Unreal's Enhanced Input?

Straight to the point: Unity -Game Engine- has an equivalent package/plugin to Unreal Engine’s Enhanced Input but much more advanced, called: Input System.

This Input System supports PlayStation controllers(Dualshock3/4, and Dualsense) on Windows PC, with nearly all Dualsense’s features, including: Rumble & Lightbar Color. And those features are accessible to all of their users without being a Sony Partner.

Meanwhile in UE5.1 using Enhanced Input, Dualsense can’t even be detected in the Editor, let alone supported.

Summary:

  • “Being a Sony Partner to access those feature” point has been refuted.

  • Enhanced Input does NOT support PlayStation controllers, unlike Unity’s Input System.

  • You’ll need a third-party solution to get PlayStation controllers working in Unreal Engine, unlike Unity’s first-party, Input System (which does not require a third-party solution).

Now, to the Leading Questions: When is Epic Games gonna support PlayStation controllers by default, especially Dualsense? Is there a Roadmap for it?

Correct me if I’m wrong, but Windows doesn’t actually support the Sony controllers either, does it? I use a third party unsigned driver to connect my Dualshock 4 to my PC; and ftr, it works just fine in UE (at least it did the last time I needed to set up a 3rd person controller)…

This defeats the whole purpose of this thread, which is to NOT use third-party solutions, but to have it a built-in feature accessible for everyone.

Unity’s Input System does this with excellence, you don’t need any third-party solution, just plug and play!

Dude, you’re missing the point…

Windows does not support the Playstation controllers. To use a Playstation controller on Windows, you need to use a third party hacky driver. From memory, UE recognises the controller the same way windows does - as a generic windows joystick. Why would it do anything else?

Can’t speak to Unity’s setup because, again, this is an O/S issue, not an engine one.

Again, I’m not missing the point; I already know Windows only supports XInput by default (i.e. Xbox controllers).

If Unity could support it out-of-the-box, why can’t Unreal’s Enhanced Input? That’s the point.

It’s such a shame Enhanced Input has been out for years and still lacks so many features to its competitive counterpart; Input System.

1 Like

Open the editor. Go to Edit > Project Settings… > Project > Supported Platforms.

Your answer is right there…

I’m sorry, but what does Supported Platforms have to do with PlayStation gamepad support? Those settings are for packaging a build …

That’s off-topic, isn’t it?

1 Like

It has everything to do with it! :rofl:

Let’s, for the sake of argument, change Windows to iOS; and the Playstation controller to say… a Samsung Stylus (S Pen). Now roll in here with your question…

Seeing the absurdity yet?

Hi @anon66410896

We hear your point, so unreal uses direct xinput for its gamepad and controller input. Which unfortunatley supports many device but not playstation controllers. To me this is a microsoft issue. But nonetheless , annoying.

Now unity uses 2 methods for input xinput and hid. Now even to use HID there needs to be a communication of the controller and windows, a device driver.

Im not sure if the playstation controllers actuallt appear in device manager as a HID DEVICE?

If so then enable the RAW INPUT plugin in unreal and have a play with that.

If they dont appear as a hid device then unity have made a device driver to do just that as it expressingly states HID controller. So there is a 3rd party thing going on there thats made by unity.

Either way unfortunatley epix chose not to do this. Why? Who knows

Edit:

After further investigation it seems indeed unity uses its own RAW INPUT base and has made it easier to use. Where as epic have put raw input in unreal you just have to work it yourself. And its not difficult from what i can tell, maybe epic could add in raw i put option to the enhancedinput system even by just a tick box. I dont know. But unreal does have this functionality “out of the box” you just have to do a little work yourself

2 Likes

Scattered.Design Are you under the influence? You’re not normal.

High500 Thank you for the detailed & great answer, such brilliancy! However, can Raw Input make Rumble & change Lightbar Color, or is it just basic input-handling for buttons and such? This is an important question.

Epic needs to integrate this workflow with Enhanced Input seamlessly.

Ahh this is indeed a question that im unsure about, but if unity does it WITHOUT the need for 3rd party drivers of any sort then its a possibility, but im not sure if RawInput is 2 way which would be needed for rumble, i will look into it

1 Like

Confirmed: I have 1 Dualsense connected to my Windows PC through USB, and it indeed shows as an ‘HID-compliant game controller’:

It is an o/s issue, and clearly so.

Mate, don’t blame me for the fact you’re a clueless muppet.

If you want to develop for PlayStation, you need access to the UDN. At which point, I feel pretty safe in guessing you’d have access to all the PS controller specific stuff you’d need…

But, again, you are complaining that a device that isn’t actually supported on your target platform, doesn’t have specific support in a game engine on said platform (in spite of 2 people now telling you it actually near enough does).

And you’re asking if I’m under the influence. Seriously?

Wow! The sheer ignorance! Pro Life Tip: You’re in the wrong field; you should abandon game development.

Here are all the resources that should square you away:

Unity’s Input System:

It’s been out for years now.

Unity’s Asset Store - Asset that accesses other features ON DESKTOP PC, like HapticFeedback & Adaptive Triggers

Now, act up like a child again and shrug off all of the resources I provided like a blind.

My apologies to the readers: we have an immature troll in our thread.

ok lets not do a bashing on here and no who started it, lets concentrate on the issue at hand!

So raw input seems to have just that raw input. but if you are c++ inclined you could make either

  1. a plugin
  2. your own c++ unreal class

using this as a basis:

GitHub - JibbSmart/JoyShockLibrary: Read DualSense, DualShock 4, JoyCon, and Pro Controller input on PC – compiled for Windows, but code should work on other platforms.

its a little outdated but it works with joycons + dualshock. there maybe a better one out there but its a start?

1 Like

Those are certainly useful resources! You can definitely work them that way. However, that approach has some limitations (including but not limited to):

  • -At least- Intermediate C++ Knowledge.

  • It will work as a stopgap, being it third-party, therefore, won’t be available for everyone as a built-in integration with Enhanced Input (first-party).

Dear Epic,

So many people are asking for PlayStation Gamepads support, and providing just that would be like a dream that comes true.

Yeah but if epic add support it will be, as unity most likely does a custom built dll for using external controllers. Microsoft need to pull their fingers out and support more using xinput.

That said if theres any budding c++ people here im sure they can make a plugin.

Or epic incorporate some way of linking this in with enhanced input.

We can only dream

1 Like