Steam Controller

Steam Controller

134 ratings
Dolphin Emulator with Steam controller! (DEPRECATED)
By cammelspit
In this guide I will cover the basics of using the steam controller with the Dolphin GameCube and Wii Emulator. There is a lot to take into consideration when using an SC with Dolphin, trade offs and caveats.
I got my steam controller on October 16th and I love it. It is a fantastic piece of kit with some amazing features that work surprisingly well for Dolphin. Too many times have I had conversations on the steam forums about dolphin and even chatted to walk some people through the whole process of setup. It isn't hard but there are many who would find it cumbersome or unintuitive at the least so here I will try my best to make a mostly comprehensive guide to working with this controller. This will also be focused on windows as that is what I use and much will still apply for Linux and Mac but I have no way of testing that out so there you may be on your own.

So, what is this thing anyways?

Let's begin with a primer of what we are looking at. The steam controller is Valves attempt at creating an all-encompassing controller for use in mostly PC games as these are the only apps officially supported. The first glaring thing about this controller is the lack of a traditional dual stick design and instead opts for these two large track pads. There is still one analog stick typically used for movement but there is a complete lack of a traditional D-Pad input. What makes this controller so intriguing for use on Dolphin is the fact that the two analog triggers both have the same dual stage click at the end of travel exactly like the GameCube. Also, the addition of modern Gyro/Accelerometer control makes the prospect of using this for Wii remote emulation quite compelling.
Running Dolphin from within steam BPM
Firstly we are going to need the steam client installed. This is because the Steam Controller uses the Steam client to do all the input device emulation and is fully required to use this controller in anything but a basic mouse style mode. Additionally, we will need to use Steam Big Picture Mode (Henceforth referred to as BPM) for any and all configuration as the interface for normal desktop steam is not available. If you like you can run BPM in a window by going to the setings in BPM and checking the "start BPM windowed" checkbox under the interface section. Alternatively, you can also access the steam controller configuration menus right from desktop mode without having to actually open BPM fully. If you have a multi-monitor setup or need to have access to other apps while playing, this can be a more convenient way for some people.

I won't be going into detail here about how to install the controller as the process is mostly automated. If you encounter issues the steam controller forums are a good place to start.

Adding Dolphin As A Non-Steam Shortcut

Next we need to set Dolphin the emulator to run from within BPM. This is so we can configure and reconfigure at will. This is done from withing the normal steam desktop mode as shown here.

Click on ADD A GAME...
Click on Add a Non-Steam Game...
Once here you simply browse for your Dolphin executable ad Steam will add this as a shortcut so we can use the overlay from BPM on top of Dolphin. This is also required for any of your custom controller configs to work at all so you have to do it!
Once here we can switch to BPM by clicking on the controller icon in the top right of the steam window or by pressing the steam button on the controller.
Dual stage triggers with Dolphin

Now it's time to start Dolphin! One thing to do before we actually start, though. Let's select our Dolphin shortcut and select manage shortcut and then configure the controller. I highly recommend using the default gamepad binding's as a starting point, this guide will assume you have done this so if you haven't just hit X on the controller and select this from the list of pre-installed templates. Once you have done this go on ahead and launch dolphin.

YAY! Our beloved Dolphin has loaded up! Let's go! Wait for just a second, there are a few things you need to know before we proceed. The controller will not activate any configuration other than desktop defaults if it does not detect that a game is running with the overlay enabled. Steam hooks into the render pipeline of your game to do this and as such if nothing is being rendered (3D) then steam will see nothing and nothing will work. This means if you opened up the controls dialog right now the controller would either not respond, or would only use the desktop bindings. We are going to have to start a game first. Alt-Enter if you have full screen enabled so our game becomes gets out of the way for us to configure Dolphin. I would recommend testing now to make sure the overlay is working properly by hitting the steam button to verify before we open Dolphins control dialog. It may also be a good idea to close the game now and configure Dolphin with the game not running. Once a game is run and the overlay activates the SC as a gamepad will continue to function even after closing the game, NOT Dolphin itself.

Another way you can do this is useful when you do have access to your KB/M when you are doing the configuration. In BPM manage the shortcut and select controller options. Here you will find a checkbox to allow desktop config in a launcher. This option is ON be default but if you uncheck it, you will no longer have to open and then close a game for the SC config to be loaded. This is very useful if you are setting it up initially or are adding another player and know you are going to need to open Dolphins controller dialog immediately. The only downside here is you cannot select your games to play with your SC. You are going to be required to use at least a mouse to perform that action. You can also turn the option back on after the configuration is done for easy of use without a KB/M later.
From here we have a few things to consider. When the controller config dialog is open the overlay for BPM cannot be altered. You will have to close this dialog before you can make changes to the controller from within BPM.

Rather than memorizing the keystrokes used by Dolphin by default I would set up this controller exactly as you would an XBOX 360 controller for now. When it comes to the C-Stick you can swipe your finger on the right trackpad to set it. The dead zones should be set to ZERO because the steam controller has amazing dead zone and anti-dead zone controls but defaults should be adequate for this. As far as a radius, I set my left stick to 70 and the right "Stick" to 80 and that gave me something VERY close to the GameCube controller's range. At least, it is much better than the XBOX 360 controller!

The fun part! The triggers... The issue here is the fact that we are set to use Xinput mode only and as we all know the XBOX controllers have no dual stage triggers so we will have to bind these to something else if we want to have this function as expected. I recommend setting the digital click of the GameCube triggers to any two random keyboard keys. I will use O and P here as a demonstration but these can be anything you want. Here you will have to right click and set these manually or use the detect option because Dolphin wants to keep all the bindings on one device for the most part so any key set to another device has to be done this way. Select the drop down box and select keyboard and mouse, find either O or P and hit the select button. Once these are set, Close the controller config windows and return to your game. Here we can press the steam button, select configure controller and select our first trigger.(Left trigger in this case) This is where you need to select the FULL PULL ACTION and then select our O key on the keyboard. Repeat these steps for the right trigger and bind it to P. Leaving the overlay is as easy as pressing the steam key again.
That's it! We now have full Gamecube controller support WITH our lovely dual stage triggers for natural feeling trigger work for games like Mario Sunshine!

Here is a short video of me playing around with the trigger functions, it is hard to describe but it is smooth and very natural to what you would want from Dolphin when playing this game. See, even spam spraying is easy. Works like a charm!

I have added My profile to Steams new non-steam game controller config sections for the SMS and general GameCube mappings. So you no longer have to manually go through and add the VDF file as a template. It is labeled as SMS and general GameCube so I hope you all get some use out of it. :)
Playing with more than one Steam Controller!
By now you have learned the raw basics of setting up and using the steam controller with the Dolphin emulator. Now that you are jumping around and spraying your water like a champ, you want to play a multiplayer game with a friend.

Dual Stage triggers, if you followed my guide more or less precisely, will only work on player one. If you were to set the exact same settings for player two then every time either player clicks their triggers that input would be sent to both players.

By now I am sure you can guess what you will have to do to fix this. There are actually two ways you can tackle this problem.

  1. You can, instead of binding O and P on the keyboard to the full pull actions you can bind them each to a normally unused button on your SC. The benefit of doing this is that when you go to add a third or fourth controller to the mix you will not have to do any kind of editing to the SC config itself for any player.

    The only reason I don't do this is because it feels more natural to me and it is just how I decided to do it. You can easily just unbind those keys you used for the full pull and use then for other shortcuts. For example, I tend to use the left bumper for switching action sets since it is unused with Dolphin as the GameCube doesn't even have a left bumper or stick clicks for that matter.

    (More on using action sets later!)

  2. You can also just use U and I instead of O and P for the second player. The downside here is you not only have to set this for the controllers you use in Dolphins controller dialog but you also have to set this in the SC config for player two. The process is literally identical to that of player one but instead, you now have to do it for player two with the different KB commands. This also scales well since there are many more keys on A KB over that of a gamepad based config.
Generally, I prefer method TWO since it leaves more options open to the user. In reality, however, the method you choose is entirely up to you and your own personal preference.
Using mouse input for C-Stick with the right pad
Since this guide was initially penned quite some time ago I have discovered a few more special things you can do to step up your game with regards to the right pad. One game I was excited to try out with the steam controller is Goldeneye: Rogue Agent. I played this game all the way through on my GameCube when it was current, again on Dolphin for kicks some few years ago and yet again now with my steam controller. I was quite excited by the fact that I could use JMouse to play this game in a similar way I can with a PC FPS game. Unfortunately I ran into some issues.

What kind of problems did you have?

The biggest issue I had was the fact that JMouse and the default settings it used were just insufficient to get anything resembling accuracy with the SC. I have made a rather extensive write up on trackpad accuracy (linked below) but this kept falling short for me whenever I tried to use my normal tricks with Dolphin and more specifically, this game.

Steam Controller as Wii remote with Nunchuck
OK, So now it is time to move on to using the Gyros for Wii remote emulation. This is much more complicated and there are many trade-offs and caveats that need to be understood here so I will do my best.

Introduction To Wii Remote Emulation

So as a start we are going to have to realize something. The steam controller as of my writing this has no "shake" inputs so you will have to simply use Dolphins built in shake binding in games where it is needed. You also can only set two axes of the gyros to any axis at a time. For example, if you wanted to have a pointer with the gyros AND use the roll axis to steer you can't do that. You can set a button to trigger upon rolling but not an axis. So you will have to give up an axis to make steering with the roll axis possible. In NSMBW you don't actually need the pointer nor do you need it in Mario Kart as you can navigate the menu system completely through the use of the Wii remote D-Pad. In these cases, it is OK to give up your pointer for roll because the roll is required as in NSMBW with the tilting platforms.

Sidways Wii remote for platformers
NSMBW and Kirby Controls guide here

Sideways Wii remote for racing games with gyros!
Mario Kart Wii and other racers control guide here

Special considerations for certain games
Guide on JMouse for camera movements in WW. JMouse for FPS games like Goldeneye GC and WII with GameCube Controller. SMG2 Mini-game specifics.

Excite Truck is HARD as hell to make work so I should consider making a section dedicated to that game alone as a demonstration of how ANY game can be MADE to work.

DO I care enough to do a section for the Metroid prime games?

Files used in this guide.
I have decided for those interested to post the actual steam controller VDF configuration files so if you like you can copy them directly into your steam directory (C:\Program Files (x86)\Steam\controller_base\templates) and use them as a template to set. This is NOT a shortcut to these guidelines. These profiles are only going to be fully useful in the games that I have made them for. Just like when using the steam controller on PC games, some profiles work well with many games but there are some games where you just have to make a custom profile to get that 'just right' control you want. Either way, here they are!

Link to the VDF files used in this guide![]

Just remember that your steam directory may differ from mine and if it does or you used a non-default location to install steam you will have to adjust accordingly.
Special Thanks and Credits
First off I would like to give a HUGE shout out to the entire Dolphin team. The time and dedication required to help us with our hobby here are just amazing! I have used Dolphin since 1.0 when it was a soundless slideshow all the way to current. My 3-year-old son has become a Mario Sunshine fan thanks entirely to Dolphin.

Shout out to 8BitCerberus who has had some discussions with me regarding certain setups and has been helpful in many other ways to the whole steam controller community.
Dolphin With The Steam Controller Showcase
I hope I am not the only one who thinks this is rather impressive. I have been fiddling around with some of the new features of the SC. Specifically the Action Sets. I have also upgraded my main PC so now I have more than enough horsepower to be able to use Touch menu without having any major slowdowns.

What I did is I have been taking all of my Games and combining the configs for the controller, each into their own action set. Then using the touch menu I had the realization I could also have save states saving and loading, exit back to Dolphin and action set switching all in the menu! Plus the cycling of the sets is pretty nice. You can't hear it in the menu but each action set has its own beep that comes from the SCs haptics too! This setup has changed the way I use Dolphin with the steam controller and I love it!

This was even recorded WHILE playing using my IGPU and intel quick sync, pretty cool if you ask me.

In case anyone was curious, here are my specs.
CPU: Intel Core i5 6600K @~4.5Ghz GPU: Sapphire Radeon R9 380 @~1010Mhz OS: Windows10 Pro x64 Dolphin: 4.0-9177
< >
tvsporto Jul 26 @ 5:40pm 
I just want to use a Classic Controller setup or Gamecube controller setup in Dolphin for Wii games and don’t see a way to do so.
cammelspit  [author] May 9 @ 10:30pm 
Long story short yes but there are caveats. Basically having the overlay display and such, same steps because it works the same way. Actually making the controls edits? Well, that's a tough one. I'd say about 80% of what you can do with the old BPM can be done with the new one as well as the new one having several nice new features too. To be honest though, it would require a full rewrite of a brand new guide to even approach explaining everything. I would consider this fully deprecated.
walksanator May 9 @ 7:13am 
any idea how to do this with the updated big picuture UI
DaMu Jan 2 @ 11:35pm 
Yo, are you going to update this or nuke it??
xtcrefugee Oct 15, 2022 @ 8:28am 
I'm not sure why, but Dolphin's own gamepad config screen will only recognise my desktop controller bindings on the Steam Deck (in Windows), regardless of what I have set in Steam's controller layout, other than the analogue triggers and joysticks which it does see. I was able to "solve" this by using GloSC, and allowing GloSC to make the Dolphin shortcut in Steam, then it works as expected.

Just leaving this info here in case anyone else has that problem, as this guide still seems to be what comes up in searches for Dolphin and the Steam Controller.
cammelspit  [author] Jan 13, 2022 @ 4:09pm 
I am glad you can find this helpful. just try and keep in mind this is very old and likely totally deprecated by now so take with large amounts of salt. :lunar2019grinningpig:
René_Touver Jan 13, 2022 @ 3:25am 
Thank you so very much man!
3080 ti Feb 24, 2021 @ 6:43am 
I'm having some weird issue with dolphin and controllers
DenisA Dec 14, 2020 @ 10:51am 
Hello there! Do the emulator settings work in Steam? How to get into the settings while in steam?
Здравствуйте! Работают ли настройки эмулятора в Стиме? Как попасть в настройки находясь в Стиме?
- Jun 29, 2020 @ 8:31am 
Sup. Do you happen to have a config for the M+KB hack for Metroid Prime?