Introducción
La
Interfaz superpuesta de Steam ofrece compatibilidad con capturas de pantalla de forma automática para todos los juegos de Steam, y Steamworks proporciona un conjunto de API diseñadas para interactuar con este sistema. La API de capturas de pantalla de Steamworks permite hacer capturas y añadirlas a la biblioteca de capturas local de los usuarios, con metadatos adicionales como el nombre de una ubicación del juego o el etiquetado de los usuarios que aparecen.
Los usuarios pueden pulsar una tecla rápida controlada por Steam (F12 de forma predeterminada) para realizar una captura de pantalla.
El usuario puede cambiar la tecla rápida y otros ajustes de captura de pantalla que tendrán efecto en cualquier juego que jueguen en Steam yendo a «Parámetros» > «En la partida».

Cargador de capturas
Tras salir del juego, el gestor de capturas se abrirá automáticamente con todas las capturas de pantalla que se han realizado durante la sesión previa. Los usuarios pueden desactivarlo yendo a «Parámetros» > «Cloud» y desmarcando la opción «Abrir el gestor de capturas al cerrar un juego si se han realizado capturas».

También se puede acceder al gestor de capturas en cualquier momento a través de Steam, yendo a «Ver» > «Grabaciones y capturas» o haciendo clic en «Grabaciones y capturas» en la interfaz superpuesta de Steam.
Si el usuario carga cualquier captura de pantalla, esta será visible en su perfil de la comunidad y en el punto de encuentro del juego.
API de capturas de pantalla de Steam
El SDK de Steamworks da acceso a
ISteamScreenshots y te permite utilizar funciones avanzadas e integrar el sistema de capturas de pantalla de Steam directamente en el juego para lograr la mejor experiencia para los clientes.
De forma predeterminada, Steam gestionará la realización de capturas de pantalla, pero puedes tomar el control mediante
ISteamScreenshots::HookScreenshots. En ese caso, obtendrás la función callback
ScreenshotRequested_t cuando el usuario pulse la tecla rápida de captura de pantalla. Puedes comprobar si tienes el control de la realización de capturas de pantalla mediante la función
ISteamScreenshots::IsScreenshotsHooked.
En cualquiera de los dos casos, obtendrás la función callback
ScreenshotReady_t cuando la captura se guarde correctamente en el disco. Después de recibir esta función callback, debes comprobar el resultado y, si es correcto, puedes utilizar el handle
ScreenshotHandle proporcionado para establecer etiquetas con:
Si quieres realizar una captura de pantalla con tu propio botón o automáticamente en algún momento (como al final de una ronda), puedes hacerlo programáticamente con
ISteamScreenshots::TriggerScreenshot, escribiendo los bytes RGB con
ISteamScreenshots::writeScreenshot o añadiendo un archivo del disco con
ISteamScreenshots::AddScreenshotToLibrary/
ISteamScreenshots::AddVRScreenshotToLibrary.