Assassin's Creed Unity

Assassin's Creed Unity

Not enough ratings
Getting Playstation button prompts with a DS4 v2 controller
By Surihix
This is a small guide that will help in getting the game to display Playstation button prompts on connecting a DualShock 4 Version 2 controller.
   
Award
Favorite
Favorited
Unfavorite
About the issue
AC Unity has native DS4 support with it displaying the DS4 button prompts in game, but only on connecting the DS4 Version 1 controller.
On connecting the newer DS4 Version 2 controller, the game won't load in the DS4 button prompts and will instead load in the Xbox button prompts.

This issue occurs due to the game coded to look only for the version 1 DS4 controller via its device ID and then load the PlayStation button prompts ingame.
The version 2 controller uses a different device ID and because of this different ID, the game doesn't recognise the controller as DS4 and will not load the PlayStation button prompts ingame.

Before proceeding any further with this guide, please connect your DS4 controller with a USB cable.
Step 1: Disabling Steam Input
Open Steam in big picture mode. you can do so by clicking the rectangle button on the top right of the steam application. this button is right between your steam user name and the minimise button.
-

This will open your steam library in Big Picture mode and here click on the big LIBRARY button.
-

In the Library menu, click on this game and you will be lead to the game's Big picture menu.
-

In this menu, go to the Manage Game option and then on the right, click on the Controller Options button.
-

In this small menu, click on the Global Setting (PS/Xbox) button and a drop down box will open. here select the Forced Off option.
-

Click on the Ok button and then press the Alt F4 button on your keyboard to exit out of the Big Picture mode.

With this we have disabled steam input for this game. now continue to Step 2.
Step 2: Using DS4Windows
Download the DS4Windows_3.0.10_x64.zip file from this link below:
https://github.com/Ryochan7/DS4Windows/releases/tag/v3.0.10


Extract the zip file into your Documents folder using Winrar or 7Zip software and you will get a folder called DS4Windows.

Go into this folder and open the DS4Windows Application file.

On opening this Application file, you will be presented with a small prompt asking where to save your profile and settings.
Select the Program Folder option and the DS4Windows app will open.

Now you will be prompted with this Driver setup window to install a controller driver.
-

Click on the Install ViGEmBus Driver button and an installer window will open.
Tick on the small checkbox near the bottom of the installer window and then click on the Next button.
This will install the Virtual Gamepad Emulation Bus Driver required by DS4Windows and once this driver is installed, click on the Finish button to close the installer.
Scroll down in the Driver setup window and click on the Finish button to close it.

On the bottom right of the DS4Windows application window, click on the Start button.
-

Your controller will now appear in DS4Windows
-

Click on the Profiles tab
-

Click on the Default text and once its selected, click on the Duplicate option.
-

You will have to type a name for this Profile. name it as AC Unity and once you are done naming, click on the Save button.
-

Now double click on this new AC Unity profile.
-

The Profile editor window will now open and here click on the Other tab.
-

In here, locate the Emulated Controller text and right next to it click on the Xbox 360 button. then from the small drop down list, select the DualShock 4 option.
-

Now click on the Touchpad tab.
-

Right next to the Output Mode text, click on the Mouse button.
then from the drop down list, select the Passthru option.
-

Click on the Save button and this will lead you back to the Controller section.
-

Now click on the Auto Profiles tab.
-

In here, click on the Add Programs button
-

From the small drop down list, select the Browse for Other Programs option. this should open a window in which you have to navigate to this game's root folder.
-

Locate the game's root folder in this new window and this folder is called Assassin's Creed Unity.
Once you are In this folder, double click the ACU Application file.
-

This will add the game's exe file in this Auto Profiles list.
-

Now on the right side next to the Controller 1 text, click on the (none) button and from the drop down list select the AC Unity profile.
-

Click on the Save button and this should ensure that the profile you created is loaded automatically when you launch the game.
-

That's it. Minimize the DS4Windows application and continue to step 3.
Step 3: Using Devreorder
Download the devreorder_v1.0.3.zip file from this page below:
https://github.com/briankendall/devreorder/releases/tag/v1.0.3


After downloading the zip file, extract it and you should get two folders, and two files.
-

Copy the DevLister, and the devreorder files to the Assassin's Creed Unity folder.

Then copy the dinput8.dll file from the x64 folder (which you got by extracting the zip file) to the same Assassin's Creed Unity folder.

It should look like this after copying in the necessary files. (see the selected files in the image)
-

Make sure that DS4windows is open and running.
Open the DevLister Application file that you copied into this folder and this application should open and show these two entries which is displayed in this image.
-

These two entries that is displayed in this application denote two devices. one is a virtual device and the other is a physical device.

The one listed here as Controller (XBOX 360 For Windows) is the virtual device while the second device "Wireless Controller" is our DS4 v2 controller which is the physical device.

The GUID is the set of words and numbers listed after the device names in the DevLister.exe. this will be different for your PC and won't be same as what is displayed in the image.


Now keeping this DevLister application open, you have to download another software for editing some of the values in the devreorder INI file.

Download and install Notepad++ from the link below:
https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.2.1/npp.8.2.1.Installer.x64.exe

Come back to the Assassin's Creed Unity folder after Notepad++ is installed.

Right click on the devreorder INI file and select the Edit with Notepad++ option.
-

The file will open and this is how it will look.
-

In the [order] section and below the ; vjoy Device line, you have to delete these selected lines as seen in this image.
-


Type Wireless Controller in the line that is below the ; vjoy Device line.

Then in the next line, you have to paste the device GUID for the Wireless Controller.
If you remember from before, this GUID is seen in the DevLister application and is right next to the Wireless Controller entry.

So select and highlight the GUID that starts from the { symbol with your mouse cursor, then right click and select copy.















-

Paste the GUID that you copied from the DevLister application in the next line after the Wireless Controller line that you had typed before.

Make sure there is a empty line after the GUID line and before the [hidden] section. It should look like this in Notepad++ after you are done typing.
-


Next in the [hidden] section and below the ; Example: line, you have to delete these selected lines as seen in this image.
-


Type Controller (XBOX 360 For Windows) in the line that is below the ; Example: line.

Then in the next line, you have to paste the device GUID for the Controller (XBOX 360 For Windows).
Once again this GUID is seen in the DevLister application and is right next to the Controller (XBOX 360 For Windows) entry.

So select and highlight the GUID that starts from the { symbol with your mouse cursor, then right click and select copy.















-

Paste the GUID that you copied from the DevLister application into the next line after the Controller (XBOX 360 For Windows) line that you had typed before.

Make sure there is a empty line after the GUID line and before the [visible] section. It should look like this in Notepad++ after you are done typing.
-


Next in the [visible] section and below the ; Example: line, you have to delete these selected lines as seen in this image.
-


Right Click and copy these selected lines from the [order] section as seen in this image.
-

Right Click paste these selected lines in the [visible] section and below the ; Example: line. this is where you had deleted the lines previously.
-

Make sure there is a empty line after GUID line and before the [ignored processes] section. It should look like this in Notepad++ after you are done typing.
-


Now press the Ctrl and S keys on your keyboard and this will save the edits that you have made to this devreorder INI file.

And that's it. now close this file and launch the game and the game will now show the PlayStation button prompts for your DualShock 4 version 2 controller.
Credits
Creator of the fork for DS4windows
Ryochan7

Creator of Devreorder tool
Brian Kendall
11 Comments
LwG 22 Oct, 2023 @ 1:11pm 
Thank you bro i love you so much
Eincrou 15 Jun, 2023 @ 12:50am 
Hello, again. I came across this issue again with Dead Rising only supporting DS4 v1 controllers. This emulation method works with that game, too.

I created a Steam guide for Dead Rising based on the method I learned from this AC:U guide. Really, it's not specific to any game and can work any time a DS4 v1 is required.

The guide I made has some updated info. It shows how to use HidHide for Step 3 instead of Devreorder, like I talked about in these comments a year ago.

Thanks again for posting this guide. The guide I just posted was the first I've made, so now I realize how much work it took to make your very detailed guide. If you see a "Take My Points" appear on here, that was me. :mhwgood:

https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=2989457041
Beefydorf 13 Jun, 2023 @ 8:47am 
Thanks for the guide. A few issues I came across which maybe of some use to others.

When setting up the latest DS4Windows and configuring emulation for a DS4 controller, the output in DeviceLister gave two Wireless Controllers as opposed to one Wireless and one XBOX 360 for Windows. I'm not sure how you got this output the way you did considering you also selected to emulate DS4, either way I was able to identify the virtual device and continue accordingly.

Steam's latest Big Picture Mode isn't the same as the guide. Not only do you have to go to the game and disable steam input, you also have to go into Steam general controller settings and deselect the Generic Gamepad Configuration Support option. This was apparently causing some interference in recognising the virtual device.
Kimarnic 1 Dec, 2022 @ 4:10pm 
I'll just use XBOX prompts :/
Eincrou 12 Aug, 2022 @ 7:20am 
I finished playing Unity and moved on to Syndicate. It has the same issue with DS4 v2 controllers, but this method of emulating a version 1 with DS4Windows also solves the problem. The PCGW entry for Syndicate noted the problem but didn't have a fix, so I added this guide. Hopefully people can figure out how to adapt it for Syndicate. Thanks, again.
Eincrou 5 Jul, 2022 @ 7:15am 
HidHide by ViGEm [github.com]

I'm on Windows 10, but the documentation says it will work with Windows 11.
Surihix  [author] 2 Jul, 2022 @ 6:02am 
@Eincrou

Could you link me to HidHide tool that you are using ?
I want to test it out myself and recommend that in this guide instead of devreorder.

Also does it work on win 11 as well ?
Eincrou 1 Jul, 2022 @ 3:48pm 
That's another benefit of HidHide over devreorder for hiding devices: HidHide applies to the whole system, so the same configuration can be used anytime a controller needs to be hidden. I didn't have to do any additional setup to make sure ACU could only see the emulated DS4 v1.

I just disable device hiding in HidHide when I need applications with native DS4 v2 support to see the actual controller. Simple as un-checking a box. There's also a whitelist to allow specific applications to always see all devices, even when hiding is enabled.
Surihix  [author] 29 Jun, 2022 @ 11:36pm 
@Eincrou

Sure. I will try and implement some of the changes that you suggested to the guide next week.

I had issues with getting HidHide to work properly without interfering with other games and so used devreorder.
Eincrou 29 Jun, 2022 @ 9:31pm 
Thanks for the guide. It helped me get my DS4 v.2 fully working with ACU. The technique could be streamlined by cutting out unnecessary steps (there's no need to remove the lines that are commented out in the devreorder config), and the screenshots would be easier to look at if cropped to the relevant area.

I actually decided not to use devreorder after realizing it was doing the same thing I already accomplish using HidHide. In fact, I'd recommend people use HidHide instead, since it's much easier to use and doesn't require adding dlls or tinkering with GUIDs and config files.

Thanks again.