Unreal Engine/Unreal Engine

[Unreal Engine] Online Subsystem

CodeHunst 2025. 9. 6. 14:43

 

 

Online Subsystem (온라인 서브시스템) 및 그 인터페이스는 Steam, Xbox Live, Facebook 등의 온라인 서비스 기능을 공통된 방식으로 액세스할 수 있는 방법을 제공합니다.

 여러 플랫폼에 출시하거나 여러 온라인 서비스를 지원하는 게임을 만들 때, 온라인 서브시스템을 사용하면 개발자는 각 지원 서비스에 맞게 구성만 조정해 주면 됩니다.

 

언리얼 엔진의 Online Subsystem (OSS) 은 멀티플레이어나 온라인 기능을 제공하기 위한 추상화 계층(플러그인 프레임워크) 입니다.

 쉽게 말해, 게임에서 "플랫폼별 온라인 서비스(Steam, Epic Online Services, PSN, Xbox Live 등)" 와 직접 맞붙지 않고, 공통된 인터페이스를 통해 온라인 기능을 다룰 수 있도록 해줍니다.

 

핵심 개념

  1. 추상화 계층
    • 온라인 기능(로그인, 매치메이킹, 친구, 음성채팅 등)을 인터페이스로 정의하고,
    • 실제 구현은 Steam, EOS, PSN 같은 플랫폼별 Subsystem이 담당합니다.
    • 즉, 코드는 공통 API를 호출하지만, 어떤 Subsystem을 쓰느냐에 따라 백엔드는 달라집니다.
  2. 플러그인 구조
    • OnlineSubsystem → 인터페이스 정의
    • OnlineSubsystemSteam, OnlineSubsystemEOS → 실제 구현
    • 게임 프로젝트에서 DefaultEngine.ini 같은 설정 파일에서 어떤 Subsystem을 쓸지 정할 수 있습니다.
  3. 대표 기능
    • 세션 관리 : 서버 생성, 참가, 검색 (멀티플레이 매치메이킹)
    • 아이디/로그인 : 플랫폼 계정 인증
    • 친구 시스템 : 친구 초대, 상태 확인
    • 리더보드 & 업적 : 플랫폼별 기록 관리
    • 음성 채팅 : 인게임 보이스
    • 클라우드 저장소 : 일부 플랫폼에서 지원

 

 

[참고]

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/online-subsystem-in-unreal-engine