---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/dev/games/doc/en/requirements/1/6/3.md
  - https://yandex.com/dev/games/doc/ru/requirements/1/6/3.md
  - https://yandex.com/dev/games/doc/tr/requirements/1/6/3.md
  - https://yandex.com/dev/games/doc/zh/requirements/1/6/3.md
  - href: en/requirements/1/6/3.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/games/doc/en/llms.txt

# TV adaptation

<!-- source: en/_includes/script-common.md -->
<!-- source: en/_includes/script/index-js.md -->

<!-- endsource: en/_includes/script/index-js.md -->

<!-- source: en/_includes/script/requirements-js.md -->

<!-- endsource: en/_includes/script/requirements-js.md -->

<!-- source: en/_includes/script/image-modal-js.md -->

<!-- endsource: en/_includes/script/image-modal-js.md -->
<!-- endsource: en/_includes/script-common.md -->

{% note info "Item 1.6.3 of the Game Requirements" %}

For TVs:

1. The game takes up the entire screen area and supports full-screen mode.
2. The game supports controls using arrows on the TV remote. Arrow controls on the remote are sufficient for complete gameplay.
3. The game supports the **Back** and **OK** buttons on the TV remote.
4. There are no in-app purchases.
5. There are no links to other games by the developer.

{% endnote %}


## Processing arrow and OK button events {#arrows-and-ok}

Remote buttons must work within the game and in the following sections:

- Start menu before the game, if there is one. For example, the game should support launching by pressing **OK** on the remote or the ability to select a level using arrows.
- In-game menu accessed via the **Back** button.

The remote initiates one event at a time. If your game uses multiple keys simultaneously, make some actions automatic, such as jumps or forward movement.

Remote buttons correspond to these events:

- Arrows: `ArrowLeft`, `ArrowUp`, `ArrowRight`, `ArrowDown`.
- **OK**: `Enter`.

See their description in the [KeyboardEvent documentation](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key){.external}.

For game engines that can work with gamepads, the TV remote is registered as a gamepad. For these, configure arrow and **OK** button event handling according to the gamepad documentation: [Unity](https://docs.unity3d.com/ScriptReference/KeyCode.html){.external}, [Construct](https://www.construct.net/en/make-games/manuals/construct-3/plugin-reference/gamepad){.external}, [Defold](https://defold.com/manuals/input-gamepads/){.external}.

## Processing Back button events {#back-button}

The **Back** button is present on remotes for all televisions with Smart TV support.

The main **Back** button events in the context of games:

- In the game's start menu — displays a confirmation window for exiting the game.
- During gameplay:
    - Single press — pauses the game and brings up the game menu.
    - Double press — displays a confirmation window for exiting the game.

For a detailed description of events, see [Events](https://yandex.com/dev/games/doc/en/sdk/sdk-events.md).

## Interaction with Yandex Games SDK {#sdk-interaction}

After [initializing the Yandex Games SDK](https://yandex.com/dev/games/doc/en/sdk/sdk-about.md), the `deviceInfo` object will return the user's device type in the `type` field.

When launching a game on a TV, the `type` field will return a string with the value `tv`. After this, you can implement the appropriate remote control logic in the game. You can also provide texts, tutorials, and other materials needed for gameplay.

For more details about the `deviceInfo` object and its methods, see [Other SDK objects and parameters](https://yandex.com/dev/games/doc/en/sdk/sdk-params.md).

## Adding a game {#game-add}

After implementing support for TV remote buttons, you can add the game to the Yandex Games catalog. When filling out the game draft in the Yandex Games Console, select **TV** among the supported platforms.

Upon successful moderation, the game will be included in a special [TV bundle](https://yandex.com/games/?bundle=tv){.external} and will be available to TV users.

## Testing the game {#game-test}

You can test the game by opening its draft on a TV that supports the Yandex TV store:

1. Open the Yandex Games app and wait for the start page to load.
2. Enter the following button sequence on the remote: ← ↑ ← ↑ ← ↑ ← ↑. An input screen will open.

    {% note info %}

    The sequence will work if the top-left interface element on the start page is selected.

    {% endnote %}

3. Enter the game ID in the field.
