▣ C++ Platform으로 프로젝트를 생성하고 Online Subsystem Steam 플러그인을 설치합니다.
▣ build.cs에서 OnlineSubsystemSteam, OnlineSubsystem을 추가합니다.
Unreal Engine에서 Online Subsystem Steam을 사용하려면 Build.cs 파일에 관련된 모듈을 추가해야 합니다.
이는 Unreal Build System(UBT)이 컴파일 시 필요한 모듈을 포함하도록 지시하기 위함입니다.
▣ 프로젝트 폴더에서 Config 폴더에 들어가서 DefaultEngine.ini 파일을 선택합니다.
▣ API
▣ 그리고 API에 있는 코드를 추가하고 저장합니다.
▣ DefaultEngine.ini에 Steam 설정을 추가하는 이유
1) 게임 실행 시 Steam Online Subsystem을 자동으로 활성화
DefaultEngine.ini는 게임이 실행될 때 엔진에서 자동으로 불러오는 설정 파일입니다.
DefaultPlatformService=Steam을 설정하면, 게임이 시작될 때 Steam Online Subsystem이 자동으로 활성화됩니다.
이를 통해 세션 생성, Steam 친구 목록, 매치메이킹, 음성 채팅 등의 기능이 작동할 수 있습니다.
2) Steam 전용 네트워크 드라이버 사용
Unreal Engine의 기본 네트워크 드라이버(IpNetDriver) 대신, Steam의 SteamNetDriver를 사용하도록 설정.
이를 통해 Steam P2P 기능을 활용한 네트워크 연결이 가능하게 됩니다.
3) 게임 실행 시 네트워크 및 세션 기능을 정상적으로 사용하기 위함
DefaultEditor.ini는 에디터에서 실행할 때 적용되는 설정이고,
DefaultEngine.ini는 게임이 실행될 때 적용되는 설정입니다.
에디터가 아닌 Standalone Game 또는 Packaged Build(패키징된 빌드)에서 Steam 기능이 작동하려면 반드시 DefaultEngine.ini에 설정해야 합니다.
▣ +NetDriverDefinitions
Unreal Engine에서 네트워크 연결을 관리하는 네트워크 드라이버(Net Driver)를 정의합니다.
Steam 전용 네트워크 드라이버(SteamNetDriver)를 기본 드라이버로 지정.
Fallback(대체 드라이버): Steam이 사용 불가능할 경우 기본 Unreal 네트워크 드라이버(IpNetDriver)를 사용하도록 설정.
▣ [OnlineSubsystem]
Unreal Engine이 사용할 기본 온라인 서브시스템(Online Subsystem)을 설정합니다.
DefaultPlatformService=Steam을 지정하여 Steam을 기본 온라인 서비스로 설정.
▣ Steam을 온라인 서브시스템으로 사용하도록 설정
→ DefaultPlatformService=Steam
▣ 멀티플레이어를 Steam의 전용 네트워크 드라이버(SteamNetDriver)로 처리
→ Steam이 제공하는 네트워크 드라이버(SteamNetDriver)를 기본 드라이버로 설정하고,
Steam이 비활성화되면 IpNetDriver(기본 Unreal 네트워크 드라이버)로 대체.
▣ Steam을 통한 세션 생성 및 참가 가능
→ NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"을 사용하여,
Steam의 SteamNetConnection 클래스를 통해 네트워크 연결.
▣ SteamDevAppId는 실제 프로젝트에서는 변경해야 함.
→ 480은 Steam 테스트용 ID이며, 실제 게임에서는 자신의 Steam App ID를 등록해야 합니다.
Standalone Mode에서 실행해야 Steam 네트워크 기능이 정상 동작 가능.
▣ 마지막으로 .uproject를 Generate Visual Studio로 다시 설정하면 됩니다.
'[ Unreal5 ] > - 언리얼엔진5 실습' 카테고리의 다른 글
언리얼엔진5 Online Subsystem Steam Connection (0) | 2025.02.13 |
---|---|
언리얼엔진5 c++ Multiplay test (0) | 2025.02.11 |
언리얼엔진5 c++ virtual, override (0) | 2025.02.08 |
언리얼엔진5 c++ Class, 생성자, 기본멤버함수 (0) | 2025.02.08 |
언리얼엔진5 c++ int32 타입의 숫자를 FText로 변환 (0) | 2025.01.31 |
댓글