Reminder:

Make sure your build is at or higher than the latest build posted below. If it's lower, verify the game contents to force an update. It's also important to remember that the sandbox depot is not updated regularly. This depot is only used for confined testing. If you were working with me on one of these confined tests, please remember to opt out of the sandbox depot so you're always receiving the most up-to-date build of the game.

Monday, January 30, 2017

Build: 1599973

Legacy Controller Support
This update adds a layer of abstraction to most Steam Controller inputs that allow for non-Steam configured controller configurations to work in the game. This means the DualShock 3 will properly work without support for the Steam Controller API. It also allows for people to play using an Xbox One or Xbox 360 controller without the need to set up a configuration via Steam.

There are three  catches though.

  • First and foremost, level editor support will only work with controllers configured with the Steam Controller API. This is because the editor is planned to take full advantage of the actions provided by the Steam Controller API, specifically the ability to assign actions to buttons.
  • Second is a lack of button mapping. As of the time of writing this, there is no plans to add button mapping to generic controller input. Unity doesn't make this easy and I don't intend to go out of my way to recreate the same functionality that Steam already has built into their controller API.
    • Steam Controller API support is not only free, it's expandable and far more powerful than anything I'd be able and willing to recreate. If you want to remap your buttons, there's no reason not to utilize the Steam Controller API.
  • Finally, the game won't pause when a controller is disconnected. Unity does not appear to reliably detect when controllers have been disconnected. This is especially true for wireless controllers since Unity often treats the wireless adapter itself as being whatever controllers are interacting with it. Since a disconnected wireless controller doesn't remove the adapter as being available, Unity doesn't recognize the disconnect.
    • This isn't an issue with the Steam Controller API which explicitly informs the game when a disconnect occurs.
Recommended Configurations

There are now a set of recommended configurations that Steam will offer you when choosing a base configuration for your controller. Each of these configurations were specifically designed to be as universal as possible while maintaining a layout that makes sense for the respective controller. For example, the Steam Controller replaces right touchpad with mouse input and the left touchpad with the ability to scroll.

Additional Fix
Entering FreeView mode from the pause menu is now working properly. Previously entering FreeView mode from the pause menu via controller would appear to resume the game and any attempts to pause the game would automatically activate FreeView mode.

This is a result of a bug in Steam which causes actions to get stuck when transitioning between action sets. Since selecting FreeView would instantly transition into FreeView mode, the "Select" action would get frozen in a "true" state, resulting in any attempts to access the pause menu automatically "selecting" FreeView.

While the issue is confirmed by Valve to be an issue on their end and is fixed in the Steam beta client, the game will now wait until the button is released before switching action sets, preventing its state from freezing as true.