Working with Steam's BigPicture Mode

Like what your seeing?

Support us as a GitHub Sponsor and get instant access to all our assets, exclusive tools and assets, escalated support and issue tracking and our gratitude. These articles are made possible by our GitHub Sponsors ... become a sponsor today!


using BigPicture = HeathenEngineering.SteamworksIntegration.API.BigPicture.Client;
public static class BigPicture.Client
This leverages features of ISteamUtil to simplify working in Steam's BigPicture mode. In particular tests for "IsBigPicutre", "RunningOnStemDeck" and handling Gamepad Text Input.



This is invoked when the Gamepad Text Input feature of Steam's Big Picture mode is displayed to the user. This only occurs when your game triggers it by calling ShowTextInput.
public static UnityEvent EventGamepadTextInputShow => get;
This event has no arguments so its handler is simply
void HandleGamepadTextInputShownEvent()
// Do work when the Gamepad Text Input is shown


This is invoked when the Gamepad Text Input feature of Steam's Big Picture mode is dismissed e.g. closed and carries the resulting text it captured.
public static UnityStringEvent EventGamepadTextInputDismissed => get;
This event has 1 argument of type string so its handle should take the form of
void HandleGamepadTextInputDismissed(string result)
// Result is the string the user typed with the gamepad

Fields and Attributes


public static bool InBigPicture => get;
Returns true if the Steam client is running in Big Picture mode.


public static bool RunningOnDeck => get;
Returns true if the app is running on a Steam Deck



Activates the big picture text input dialog which only supports gamepad input.
This is not a virtual keyboard, it is dependent on the Steam client being in Big Picture mode and cannot be used when it is not.
Steam does have a virtual keyboard that you can use. Please see the Utilities API for more information.
public static bool ShowTextInput(
EGamepadTextInputMode inputMode,
EGamepadTextInputLineMode lineMode,
string description,
uint maxLength,
string currentText)
Returns true if the client is in Big Picture mode false otherwise


Selects the input mode to use, either Normal or Password (hidden text)


Controls whether to use single or multi line input.


Sets the description that should inform the user what the input dialog is for.


The maximum number of characters that the user can input.


Sets the pre-existing text which the user can edit.