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 23, 2017

Build: 1584926

Steam Controller API
The first major update for the Steam Controller API support has just gone live. While there's still a lot of work that still needs done, this update is far from small.


Title Screen Navigation
Currently this means accessing packages and individual levels from the Player Crafted panel, though filter control isn't available just yet. Resolution and audio panel control might still get reworked before release so these panels are also currently inaccessible via controller and probably won't be until their design is finalized.



Gameplay Control
Gameplay also now properly responds to controller input, including analog input from the analog sticks and triggers, allowing for more fine movement than digital input from the keyboard could otherwise offer. This isn't to say that keyboard controls aren't still the primary way to play. The game itself was designed with digital inputs in mind. However this added level of control comes across as a bonus for people who prefer controllers to not feel as though their inputs were merely forwarded key presses.


Naturally the game will automatically pause when it detects the number of controllers available has been reduced below where it was originally. While this phrasing might seem like a strange way to describe a controller being disconnected, it's entirely possible to have more than one controller plugged in at a time. Diamond is a singleplayer game but because it's capable of receiving inputs from whatever controller is currently "Active", this distinction means that regardless of what controller you're using, if any controller is disconnected, the game will pause.

Xbox, DualShock, and Steam Controller

It can't be stated enough that despite the name of the Steam Controller API, support for this API also includes support for all three major controller layouts and any future controllers Valve adds to Steam in the future.

The icons above are used to represent the controller detected when connected. With no formal way to detect a controller type via the API however, the game detects the controller type based on the button mapped to the "Select" action under the Menu Control action set in controller configuration.

For instance, if the game detects that "Select" is bound to the X button on a DualShock controller, it can safely assume that the DualShock icon is appropriate to display when letting you know a controller was detected.

That being said, it's important to remember that the Xbox and DualShock controllers do not currently have "Official" bindings yet, so you'll need to make sure to check and make the appropriate bindings when attempting to play with either of these controllers. This won't be the case upon release.

Unknown Controllers

Because of the way controllers are detected, if the game isn't able to automatically detect your controller, it has no way of knowing if it's either because the controller isn't properly configured or because you're using a new type of controller that the game wasn't designed to detect.

In this case, you'll be given a dialog describing the circumstances and what the likely cause is. If you're using a supported controller, it'll recommend checking your configurations. However because of the nature of the Steam Controller API, it's also entirely possible that the controller was simply added later down the line and the game simply isn't aware of what kind of input prompts should be displayed. In this case, the game should work perfectly fine as long as it's configured properly.

Work In Progress
One major area that you'll notice in this update however is that the pause menu is still inaccessible via the controller. This isn't an issue with the Steam Controller since you can still navigate it with the right touch pad as a mouse, however keep this in mind when trying to play with a controller.