Getting started with touch
This topic covers how to configure touchscreen controls for your Xbox Game Streaming title.
You can make your game playable without an attached controller. Touchscreen controls increase the number of users who are playing your game, increase engagement for mobile users, and provides users an intuitive experience for their device.
There are two avenues for bringing touch input to your game:
- Touch adapted controls. The streaming client can overlay touch controls over the game. You can provide custom layouts that optimize the controls for your game and change to different layouts for different parts of the game.
- Native touch. You can support touch directly for areas of your game that would respond to standard touch interactions more naturally than controller interactions. Examples where this is commonly desired include menus, inventory management and map interactions.
Touch input, in either form, is not enabled by default. In order to locally test with touch, the Content Test Application can be configured to enable either native touch or touch adaptation kit bundle sideloading. Stream Configuration Overview includes more information about how to use these settings. After touch is working locally, contact your Microsoft Account Representative to enable touch input for others while streaming.
For more information about the CTA, see Windows PC Content Test Application (CTA) and Android Content Test Application (CTA).
Touch-adapted layouts
You can take the following actions by using the Touch Adaptation Kit (TAK).
- Create custom touch-adapted layouts.
- Deploy custom touch-adapted layouts to your device.
- Use the Cloud Aware touch adaptation APIs to control the display of your control layouts.
The touch-adapted layouts are only visible to users that aren't using a physical controller. When a controller is connected to the client device, the touch controls are hidden.
Your game can have a similar touch-adapted layout as shown in the following screenshot.
Support native touch
Supporting native touch is similar to supporting mouse or other input in your game. Touch events will be represented IGameInputReading with an XInputKind that has the value of GameInputKindTouch
.