Перейти к содержимому

Документация · 05

Оверлей

Панель, нарисованная внутри вашей игры: друзья, чат, приглашения и уведомления, открывается горячей клавишей. Поставляется в пакете Unity.

3 минуты чтенияОбновлено 1 окт. 2026

Разделы документации

Панели оверлея ещё дорабатываются. На странице описано итоговое поведение и имена, которые есть в пакете SDK сегодня.

Что это

Оверлей рисует ваша игра средствами UI Toolkit поверх вашего экрана. Никаких перехватов графического драйвера и внедрения в процесс: это обычный код пакета, поэтому он одинаково работает в любом графическом API. Игрок открывает его горячей клавишей и видит друзей (сначала тех, кто в вашей игре), чат, приглашения в игру и уведомления. Небольшой слой уведомлений показывает, что друг вышел в сеть, пришло приглашение или завершилась загрузка.

  • Его никогда нет в сборке выделенного сервера и в безголовом плеере.
  • Он сам не открывает сетевых соединений: показывает то, что сообщает приложение на компьютере игрока, и отправляет действия обратно ему.
  • Имена, чат и расширенный статус всегда показываются обычным текстом, поэтому друг не может вставить в вашу игру разметку или поддельные системные строки.

Горячая клавиша

По умолчанию это Shift+Tab. Свою клавишу по умолчанию задайте в Project Settings под именем продукта: любая одна клавиша либо один модификатор и клавиша. Страница предупреждает, если ваши Input Action уже используют это сочетание, и предлагает свободное.

Горячую клавишу игрока определяют три источника, побеждает первый из существующих:

ИсточникОткуда берётся
userСобственная настройка игрока в приложении (Настройки, затем горячая клавиша оверлея).
portalЗначение, которое вы задали для приложения в портале разработчика. Приложение читает его до запуска вашей игры.
gameЗначение по умолчанию, вшитое в эту сборку из ваших Project Settings.

Escape всегда закрывает оверлей. Если ваша игра уже использует это сочетание (шутер, где Shift — шаг, а Tab — таблица очков), выберите другое по умолчанию, например Shift+F1.

Ваш ввод, пока он открыт

При открытии оверлея, по порядку:

  • Вызывается Overlay.ActivatedChanged(true). Игра с собственным шлюзом ввода реагирует здесь.
  • Если вы не отключили это, пакет выключает ваши включённые действия Input System и при закрытии включает ровно этот набор.
  • Курсор разблокируется и показывается, а потом восстанавливается, если только вы не сообщили пакету, что управляете курсором сами.

Он не трогает Time.timeScale, поэтому сетевая игра продолжает идти. Игра на старом Input Manager должна приостановить свой ввод в событии:

C#
using Gameway.Sdk;
using GW = Gameway.Sdk.Gameway;

void OnEnable()  { GW.Overlay.ActivatedChanged += OnOverlay; }
void OnDisable() { GW.Overlay.ActivatedChanged -= OnOverlay; }

void OnOverlay(bool open)
{
    // the package disables your Input System actions for you while the overlay is open;
    // pause what it cannot see: the legacy Input Manager, your own raw input, camera look
    myInputPaused = open;
    UnityEngine.Debug.Log("overlay " + (open ? "opened" : "closed")
        + ", hotkey " + GW.Overlay.Hotkey + " from " + GW.Overlay.HotkeySource);
}

Нажатие, открывающее оверлей, игре не передаётся. Если сочетание всё же совпадает с одним из ваших действий, выберите другое по умолчанию; страница настроек покажет, какие действия пересекаются.

Что можно настроить

НастройкаПо умолчаниюЧто делает
Enable overlayвкл.Устанавливать ли оверлей вообще.
Default hotkeyShift+TabСамый низкий из трёх источников выше.
Disable game input while openвкл.Отключать ваши действия Input System, пока оверлей открыт.
I manage the cursor myselfвыкл.Не трогать курсор при открытии и закрытии.
Toast cornerсправа внизуГде появляются уведомления.
Allow offline playвыкл.Может ли игра стартовать без запущенного приложения (см. руководство по SDK).

Во что он обходится

Оверлей рассчитан так, чтобы не влиять на время кадра: закрытый, он занимает заметно меньше четверти миллисекунды в главном потоке и ничего не выделяет; открытый, в 1080p, рассчитан укладываться примерно в полторы миллисекунды. Скрытая панель собирается небольшими порциями вне матчей, поэтому первое открытие — это просто переключение видимости. Перед выпуском измерьте его в релизном плеере на своём железе.

Gameway · 2026-10-01