Введение
Пользователь может делать скриншоты в любой игре с поддержкой
оверлея Steam, а Steamworks предоставляет набор API, которые позволяют взаимодействовать с этой системой. API скриншотов позволяет делать скриншоты, добавлять их в библиотеку скриншотов пользователей вместе с метаданными (к примеру, о локации в игре), а также помечать на изображении появившихся на нём пользователей.
ВНИМАНИЕ: для работы системы скриншотов в игре должен быть активирован
оверлей Steam.
Для создания скриншота пользователи могут нажать заданную в Steam кнопку (по умолчанию F12).
Пользователь может изменить сочетание кнопок, а также другие настройки скриншотов, которые будут распространяться на все игры, в настройках Steam.

Загрузчик скриншотов
При выходе из игры автоматически откроется окно загрузки скриншотов, в котором будут представлены все сделанные во время игровой сессии скриншоты. Пользователи могут отключить это поведение в меню «Настройки» -> Cloud, где можно снять галочку с опции «Открывать окно загрузки скриншотов после выхода из игры, если были сделаны новые».

Загрузчик скриншотов также в любое время можно открыть в меню «Вид» -> «Скриншоты» или нажав «Скриншоты» в оверлее.
Если пользователь загрузит скриншоты, они будут показаны в его профиле и в центре сообщества игры.
API скриншотов
В SDK Steamworks предоставлен доступ к
ISteamScreenshots. Он позволяет вам использовать расширенные функции и интегрировать систему скриншотов в игру.
По умолчанию Steam контролирует создание скриншотов, но вы можете перехватить этот процесс, используя
ISteamScreenshots::HookScreenshots. Если вы воспользуетесь этой фукцией, вы будете получать обратный вызов
ScreenshotRequested_t, когда пользователь нажимает кнопку создания скриншотов.
ISteamScreenshots::IsScreenshotsHooked проверяет, есть ли у вас контроль над скриншотами.
Вне зависимости от этого, вы будете получать обратный вызов
ScreenshotReady_t всякий раз, когда скриншот сохранён на диск. Если проверка результата обратного вызова покажет, что он был успешен, вы можете использовать
ScreenshotHandle для отправки меток скриншота:
Если вы хотите делать скриншоты с помощью другой кнопки или автоматически в определённой точке игры, к примеру, в конце раунда, вы можете сделать это программно, используя
ISteamScreenshots::TriggerScreenshot, записав RGB-данные скриншота с помощью
ISteamScreenshots::WriteScreenshot или добавив файл с диска с помощью
ISteamScreenshots::AddScreenshotToLibrary/
ISteamScreenshots::AddVRScreenshotToLibrary.