Make Unreal REAL.
article thumbnail
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로 변경한다.

 

 

레벨을 돌아다니며 테스트 해볼 수 있다.

 

profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그