Utilities.Client
Features from ISteamUtil with a few extras from Heathen!
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!
Introduction
using SteamUtils = HeathenEngineering.SteamworksIntegration.API.Utilities.Client;
public static class Utilities.Client
This leverages features of ISteamUtil to simplify working for Steam's Virtual Keyboard and launcher features..
Events
EventAppResumFromSuspend
Invoked when the app regains focus from suspend as seen by Steam Client.
public static UnityEvent EventAppResumFromSuspend => get;
This event has no arguments so its handler will take the form of
void HandleAppResumFromSuspendEvent()
{
// The app has just resumed
}
EventKeyboardShown
Invoked when the Steam virtual keyboard is shown to the user. This virtual keyboard sends OS Key events so should trigger Unity's input systems normally. It is only shown to the user when you request it via the ShowVirtualKeyboard method.
public static UnityEvent EventKeyboardShown => get;
This event has no arguments
But how do I get the text?
It is a true virtual keyboard, so Unity's Input system should be triggered by the key strokes as if it was a real keyboard.
void HandleKeyboardShownEvent()
{
// The virtual keyboard has been shown
}
EventKeyboardClosed
Invoked when the Steam virtual keyboard is closed.
public static UnityEvent EventKeyboardClosed => get;
This event has no arguments
But how do I get the text?
It is a true virtual keyboard, so Unity's Input system should be triggered by the key strokes as if it was a real keyboard.
void HandleKeyboardClosedEvent()
{
// The virtual keyboard has been closed
}
Fields and Attributes
IP Country
public static string IpCountry => get;
Seconds Since App Active
public static uint SecondsSinceAppActive => get;
Server Real Time
public static DateTime ServerRealTime => get;
Steam UI Language
public static string SteamUILanguage => get;
Big Picture Mode
public static bool IsSteamInBigPictureMode => get;
In VR Mode
public static bool IsSteamRunningInVR => get;
In Steam Deck
public static bool IsSteamRunningONSteamDeck => get;
VR Streaming Enabled
public static bool IsVRHeadsetStreamingenabled => get;
Methods
Set Game Launcher Mode
In game launchers that don't have controller support you can call this to have Steam Input translate the controller input into mouse/kb to navigate the launcher
public static void SetGameLauncherMode(bool mode);
mode
Whether a launcher is active or not
Start VR Dashboard
Asks Steam to create and render the OpenVR dashboard.
public static void StartVRDashboard();
Show Virtual Keyboard
Uses the Show Floating Gamepad Text Input
feature of Steam API to display a floating / virtual keyboard over the game and deliver input to the target field.
Opens a floating keyboard over the game content and sends OS keyboard keys directly to the game. The text field position is specified in pixels relative the origin of the game window and is used to position the floating keyboard in a way that doesn't cover the text field.
But how do I get the text?
It is a true virtual keyboard, so Unity's Input system should be triggered by the key strokes as if it was a real keyboard.
Pixel Based Position
public static bool ShowVirtualKeyboard(
EFloatingGamepadTextInputMode mode,
int2 fieldPosition,
int2 fieldSize)
or
public static bool ShowVirtualKeyboard(
EFloatingGamepadTextInputMode mode,
float2 fieldPosition,
float2 fieldSize)
returns true if the floating keyboard was shown, otherwise, false.
mode Selects the keyboard type to use
fieldPosition Coordinate of where to position the floating keyboard
fieldSize Desired size of the floating keyboard
RectTransform Based Position
public static bool ShowVirtualKeyboard(
EFloatingGamepadTextInputMode mode,
RectTransform fieldTransform,
Canvas canvas)
returns true if the floating keyboard was shown, otherwise, false.
mode Selects the keyboard type to use
RectTransform The rect transform of the input field
Canvas The parent canvas the input field is a member of
Last updated