forcing mono in nVidia shadowplay

Recently I’ve been recording some of my gameplay when playing Overwatch in an effort to see if there’s any obvious places where I’m screwing up, when I noticed something odd when reviewing the recordings. Whilst all the audio for the game as well as the audio from Discord would be coming through both channels in stereo, my voice was only being played back through the right channel. Since I’m not producing videos for public consumption, it really shouldn’t be too much of an issue, but it’s enough to annoy me enough to find out what on earth is going on.

So a quick look into my setup to see what on earth is going on here.

My microphone setup is rather convoluted as compared to the usual USB condenser setups, for the sole reason that I didn’t want to add another USB sound card into my system. I’m currently running a Presonus AudioBox 22VSL, which is a very nice USB 2.0 audio interface which has an MXL 550 condenser mic as my main microphone. In terms of bang for buck at the time, it’s serving me well. The AudioBox software also allows you to change the panning on the fly, which in most software is good enough to get a centred output.

The problem seems to have come up with Shadowplay, nVidia’s inbuilt streaming and recording software. For streaming, Shadowplay is far below par, with OBS knocking it right out of the park in terms of stability and customisation. However for recording game sessions, Shadowplay is actually the better option from my experimentation. The only problem is that Shadowplay uses a direct input from the communication devices to gather the local mic inputs – which the AudioBox software can’t directly utilise.

I did find a solution, and it is a bit of a hack, but it seems to work.

First and foremost, the mic you want to use must be plugged into the no. 1 input jack. I’ll explain why in a moment why this is important, but you can mirror any settings you wish on the hardware and it will be exactly the same.

Second you’ll want to go into your Recording Devices tab of the Sound properties in the Windows Control Panel. Easiest way to do this is to right click on the little speaker in the system tray and select it from there. You’ll get a window like this:


Now there’ll be a couple of devices here, but you’ll want to right click on whatever device is going to be your input device, in my case it’s the AudioBox 22VSL Audio. This will bring up the line properties.

Lastly, select the Advanced tab and you’ll see this screen:


The Default Format section is what’s of interest here, and the setting that’s found here is what needs to be set in order to force applications like Shadowplay to recognise the left channel mic as a single mono input. Here’s the reason why plugging the mic into input 1 was so important. With this option Windows will take only the first input and use it as a mono input. If you have anything on inputs 2 and above, Windows will just ignore them.

Apply all the changes and hey presto. You’ve got a single mono input that isn’t stuck on one channel. While this something that I’ve found that works with the Presonus AudioBox, I can’t guarantee that it will work with other USB ASIO interfaces. I’ll also recommend that you set things back to the previous settings if you want to use multiple inputs at once through ASIO. I haven’t run into issues, but it’s better to be safe than sorry.

The ideal solution would to have nVidia implement a Force Mono within the Shadowplay software, but until then, this workaround seems to work. I’ll also point out that I’m running Windows 7, so there may be some differences between this and Windows 8 or Windows 10, so again, your mileage may vary.


unreal engine config resolution

Just a quick bit of info about a little issue I ran into recently in regards to XCOM2, and it’s a very niche occurrence but here’s the gist of what happened.

I recently switched from using an LG TV as a primary display back to using my old dedicated computer monitor instead. In essence, I’ve traded resolution and screen size for refresh rate. For reference my TV is a standard 1920×1080 @ 60Hz and this monitor is 1440×900 @ 75Hz. The difference between the two is night and day when playing games like Overwatch. With that change in resolution has brought back an old little problem that isn’t seen much nowadays – how games handle a change in resolution. Going from a lower resolution to a higher resolution is normally easy, if the display can support it, but going down is a nightmare at times.

I’m going to cut to the chase and explain what happened to me and how I fixed it.

I run most games in Borderless Window if I can, so I can easily switch over to discord and engage in some jolly banter at will. The issue popped up after I switched back to the smaller monitor, as XCOM2 kept the same resolution but in borderless window mode. Essentially I had the bottom right section of my screen missing. This normally could be dealt with in other games, but all the actual menu buttons are at the bottom of the screen.

This can happen in a lot of games, so having to change config files is a handy skill to pick up. What I’m describing here applies to the majority of Unreal Engine games, both old and new, although there is going to be changes between the config files according to what Unreal version is being used.

Depending on the game, the config files can be found in two different places most of the time. The earlier Unreal Engine games kept their config files in their install directory, for example Unreal Tournament 1999 the config file is found at *game path*\System\unrealtournament.ini . Unreal Engine 3 and beyond has changed this, with the config files being found in the user’s documents folder instead, in this example XCOM2’s config files are found under *user*\My Documents\My Games\XCOM2\XComGame\Config. There’s also a lot more config files as compared to earlier Unreal games, but they all perform the same function.

When it comes to editing graphical settings, the config file you’re going to want to look at is the Engine.ini file. The actual name of the file will change depending on what game you’re looking at, but it’s function stays the same, and it’s where you can tweak a lot of options that aren’t found in the game’s options menu, mainly because some developers can be lazy at times.

There’s a lot of technical stuff in here, and a lot isn’t that useful to tweak for the general user, but there is one section that I’ll focus on. After opening up the relevant engine.ini file in a text editor for [SystemSettings] will get you to the section where you can tweak and potentially correct errors. Some of these you may recognise, but there’s a lot in here.

In my case, fixing the mismatched resolution had two solutions. The first, and arguably the most direct way was to find the ResX and ResY entries and simply set them to the desired resolution. This is another way to set custom resolutions, although that is to be done at your own risk and doesn’t always work properly. Strangely, that wasn’t the solution I used – mainly because in XCOM2’s case the ResX/Y option is at the bottom of SystemSettings and sometimes there’s another solution earlier in the config.

My second solution was switch the game from borderless window back to dedicated fullscreen. This will force the game to look at what display is being used and realise that it can’t render to the old resolution and reset it to a default value that can be displayed. (XCOM2 defaulted to 1280×720 which seems to be a common trend) From there you can use the in-game menus to correct the resolution settings. There’s always going to be times where simply setting the resolution via the config files results in weirdness, so using the game’s option menus can help in getting back to a stable configuration.

The other options in the SystemSettings section can be tweaked to squeeze out more performance on lower end systems, especially if you know what settings hit your system’s performance the hardest. It’s also a handy way to disable motion blur, even if the developers think that their game absolutely has to have it.

Just remember to back up your config files before going on an edit spree, although that’s solid advice when editing anything.