Steamworks 문서
Steam 오버레이

개요

Steam 오버레이는 Steam에서 실행한 거의 모든 게임에서 활성화할 수 있는 Steam 사용자 인터페이스의 하나입니다. 사용자는 오버레이를 통해 친구 목록, 웹 브라우저, 채팅과 게임 내 DLC 구매 등의 기능을 사용할 수 있습니다.

사용자는 기본적으로 SHIFT+TAB 키를 눌러 게임 내에서 오버레이를 띄울 수 있으며 이 단축키는 Steam -> 설정에서 변경할 수 있습니다.

요구 사항

Steam으로 실행하는 게임은 자동적으로 오버레이와 연동되기 때문에 특별한 요구 사항은 없습니다. 개발 과정에서 게임을 디버거로 실행할 때는 SteamAPI_Init을 요청하여 오버레이를 불러올 수 있습니다. 그러려면 OpenGL/D3D 장치를 초기화하기 전에 먼저 SteamAPI_Init을 요청해야 하며, 그렇지 않을 경우 장치 생성과 연동되지 않습니다.

오버레이는 DirectX 7~12, OpenGL, Metal, Vulkan을 사용하는 게임을 지원합니다. 소프트웨어 래스터화(Rasterize) 게임에는 사용할 수 없습니다.
NOTE: The overlay is automatically disabled for 'Software' app types. If you need the overlay enabled, please Contact Support.

앱에서 오버레이 활성화하기

Steamworks API에는 게임 오버레이를 직접 작동시키는 함수가 있습니다.

오버레이에서 게임으로의 통신

오버레이에서의 사용자 동작으로 인해 Steam에서 게임으로 아래와 같은 신호(콜백)가 전송될 수 있습니다.
  • GameOverlayActivated_t
    오버레이가 활성화 또는 비활성화되었을 때 게시됩니다. 싱글 플레이어 게임을 일시 정지 또는 다시 시작할 때 사용할 수 있습니다.
  • GameServerChangeRequested_t
    사용자가 친구의 게임에 참여하기를 선택할 때 게시되며 접속하는 게임 서버에 대한 상세 정보를 담고 있습니다.
  • GameLobbyJoinRequested_t
    사용자가 친구의 게임에 참여하기를 선택할 때 게시되며 접속하는 로비에 대한 정보를 담고 있습니다.

자주 묻는 질문

참고: 고객 상담 지원 사이트에서 Steam 커뮤니티 오버레이 활성화 문제에 대한 추가 답변을 찾아볼 수 있습니다.

질문: Steam 오버레이를 실행하면 앱 충돌이 일어나는 이유가 무엇인가요?

답: Steam 오버레이는 이미 몇천 개의 게임에 사용되고 있으며 철저한 테스트 과정을 거쳤기 때문에 거의 충돌을 일으키지 않습니다. 오버레이는 실행 중인 게임에 삽입되기 때문에 렌더링 API 사용 시 메모리 누수 또는 메모리 오염을 발생시킬 수 있으나, 이것이 게임 플레이에 영향을 주기는 어렵습니다.

오버레이 충돌을 진단하려면 d3d 디버그 런타임을 모든 (정보/경고/에러/공지) 레벨의 스퓨를 켠 상태로 진행하여 D3D가 불량한 상태로 변한 이유를 찾아보세요. 고립된 d3d 리소스에서 문제가 발생한 것일 수도 있습니다. 이 방식으로 문제점을 찾지 못했다면 일반적인 메모리 오염 문제일 수도 있습니다. 게임을 종료할 때마다 문제가 발생한다면 종료 시 클린업을 진행하지 않는 게임의 종료 명령 문제일 가능성이 높습니다.

디버깅 후에도 앱이 오버레이와 충돌을 일으킨다면 Steamworks Development Group에 문의해 주세요.

질문: 앱에 Steam 오버레이가 표시되지 않는 이유는 무엇인가요?

답: 먼저 위 요구 사항을 충족하는지 확인하세요. 요구 사항을 모두 충족하였으나 오버레이가 실행되지 않을 경우, Steam 클라이언트를 통해 앱을 실행했는지 확인하세요. 로비/빠른 시작 목록에서 바로, 혹은SteamAPI_RestartAppIfNecessary를 호출하여 확인할 수 있습니다.