- Home /
Is it possible to implement the steam controller in a non-steam game?
The new steam controller looks great!
It says on the steam site that it can even work on non-steam games. However, the details are a little fuzzy..
Are there any assets/sdks available to utilize the steam controller in a regular unity game (that isn't published on steam)?
I'm surprised there hasn't been more conversation around this, that I could find at least.
Its not really in the vein of Unity Development if you are making it to work on an existing game. This would be an OS issue at best.
To make this a Unity question you would need to be referring to how you can set up Input $$anonymous$$anager for S$$anonymous$$mController support or making/implementing a plugin to add support that way.
Conversation is for the forum ;)
@meat5000 I apologize for the unclear question, you hit it right on the money though.
$$anonymous$$y question was if there were any methods to utilize the s$$anonymous$$m controller in a unity game that I am developing, but not planning on publishing to s$$anonymous$$m.
Answer by kamaradc · Feb 10, 2016 at 09:07 PM
The controller basically acts as a mouse and keyboard if you're not using it in combination with the SDK. The layout of the controller is like this:
buttons:
A = Return
B = Space
X = PageUp
Y = PageDown
Left bumper = Left Ctrl
Right bumper = Left Alt
Left trigger = Mouse button 1 (no axis)
Right trigger = Mouse button 0 (no axis)
Left flipper = Mouse button 3
Right flipper = Mouse button 4
pad button left = Mouse button 2
pad button right = Left shift
arrow next to steam button left = Tab
arrow next to steam button right = Escape
Axes:
Joystick = acts as Horizontal/Vertical by sending (Left, Right, Up, Down arrow keys)
pad left = acts as Mouse ScrollWheel axis
pad right = acts as Mouse X and Mouse Y
Answer by OR_Parga · Nov 17, 2015 at 12:55 PM
I'm also trying to use the controller in Unity Steam, with negative results. For now, what I have achieved is through a simple reading of the event log with this code:
void OnGUI()
{
Event e = Event.current;
if (e.isKey)
Debug.Log("Detected a keyboard event!" + e.modifiers +" + " + e.keyCode + " " );
if (e.isMouse)
Debug.Log("Detected a Mouse event!" + e.type);
}
If you try it you will see that some analog events are detected as keys. And there are some events not even detected, as the XY buttons.
Apparently, you can program games with the Steam control if you are part of SteamWorks. Then you can download the SDK STEAM with which you can develop or adapt applications using C ++ but not using Unity