Unreal Engine 5 C++ Multiplayer Shooter
멀티 플레이어 슈터 게임을 만들 새로운 프로젝트를 생성했다.
온라인 서브시스템 세션을 관리할 플러그인을 제작했던 MenuSystem 프로젝트 폴더에서 Plugins 폴더를 복사해 새로운 프로젝트 폴더에 붙여넣는다.
- 플러그인 폴더의 Binaries, Intermediate 폴더는 삭제해준다.
Online Subusystem Steam 플러그인을 활성화한 후 에디터를 재시작한다.
에디터를 끈 후 INI 설정 파일들에 다음 내용을 추가해준다.
DefaultEngine.ini
- 언리얼 엔진 5 버전에 따라 세션 생성에 문제가 있으면, bInitServerOnClient=true 부분을 주석 해제한다.
- FOnlineSessionSettings::bUseLobbiesIfAvailable 옵션도 버전에 따라 고려해야 한다.
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
; If using Sessions
; bInitServerOnClient=true
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
DefaultGame.ini
[/Script/Engine.GameSession]
MaxPlayers=100
프로젝트와 플러그인의 Binaried, Intermediate, Saved 폴더를 삭제하고 VS 파일을 재생성해준 후 에디터를 실행한다.
시작 레벨과 Lobby 레벨을 만든 후, 레벨 블루프린트의 BeginPlay 이벤트에서 메뉴 위젯을 띄우도록 한다.
Project Settings에서 기본 맵을 설정한다.
Project Settings - Packaging 카테고리의 List of maps to include in a package build에서 패키징 시에 포함할 레벨을 추가한다.
3인칭 콘텐츠 팩을 프로젝트에 추가한다.
- 이 콘텐츠는 싱글 플레이, 멀티 플레이 모두를 고려해 설계됐기 때문이다.
Lobby 레벨에서 Player Start를 배치하고 게임 모드를 BP_ThirdPersonGameMode로 변경한다.
레벨을 돌아다니며 테스트 해볼 수 있다.
'Unreal Engine > UE5 C++ Multiplayer Shooter' 카테고리의 다른 글
Mixamo 애니메이션 리타겟 (0) | 2023.03.30 |
---|---|
에셋 추가 (0) | 2023.03.29 |
멀티 플레이어 플러그인 제작: 버그 수정 및 완성 (0) | 2023.03.28 |
멀티 플레이어 플러그인 제작: 사용성 개선 (0) | 2023.03.28 |
멀티 플레이어 플러그인 제작: 세션 시작 (0) | 2023.03.28 |