파티
Create and manage player parties to enable groups of players to join game matches together.
읽는 시간 1분최근 업데이트: 5일 전
파티에서는 게임에서 파티 경험을 만드는 방법을 보여 줍니다. 파티는 게임 세션(게임 시작부터 게임 종료까지)이 진행되는 동안 지속되는 플레이어 그룹이며 이 그룹은 플레이어로 구성됩니다. 파티는 로비, 매치메이킹, 게임플레이 등 다수의 게임 # 상태에서 지속됩니다. 플레이어를 영구적으로 그룹화하는 친구 목록과 달리 파티는 단일 게임 세션 동안에만 지속됩니다.
다음 내용으로 넘어가기 전에 Unity Hub와 지원되는 버전의 Unity 에디터를 다운로드 및 설치하십시오. 파티는 다음 Unity 에디터 버전을 지원합니다.
- Unity 2020.3 LTS 및 이후 버전
요구 사항
파티를 시작하기 전에 다음 요구 사항을 충족해야 합니다.- Unity Lobby SDK를 설치합니다.
- Unity 프로젝트가 Lobby 서비스에 등록되어 있습니다.
- TextMesh Pro 필수 사항.
- 에디터에서 Window > Textmesh Pro > Import TMP Essential Resources로 이동합니다.
자세한 워크플로
다음 내용을 통해 파티를 사용하는 일반적인 파티 멤버의 여정을 알아보십시오.- A 플레이어가 파티를 시작합니다.
- A 플레이어는 B 플레이어에게 초대 코드를 전송합니다.
- B 플레이어는 코드를 사용해 파티에 참여합니다.
- A 플레이어와 B 플레이어는 동일한 파티에서 첫 번째 매치를 시작합니다.
- 첫 번째 매치가 끝나도 파티는 그대로 유지되므로 A 플레이어와 B 플레이어는 같이 두 번째 매치를 다시 플레이할 수 있습니다.
개념
파티
파티는 게임 세션(게임 시작부터 게임 종료까지)이 진행되는 동안 지속되는 플레이어 그룹이며 이 그룹은 플레이어로 구성됩니다.파티 리더
파티 리더는 파티의 호스트입니다. 파티 리더는 파티를 관리하고 플레이어를 추가 및 퇴장시킬 수 있습니다.파티 멤버
파티 멤버는 파티에 속해 있는 플레이어입니다. 파티 멤버는 초대 코드를 전송해 다른 플레이어를 추가할 수 있습니다.파티 관리
LobbyManager에서 다음 로비 코드 샘플을 사용해 파티 작업을 수행합니다.파티 만들기
async void CreateLobby(){ try { var partyLobbyOptions = new CreateLobbyOptions() { IsPrivate = true, Player = m_LocalPlayer }; var partyLobbyName = $"{k_LobbyNamePrefix}_{m_LocalPlayer.Id}"; m_PartyLobby = await LobbyService.Instance.CreateLobbyAsync(partyLobbyName, m_MaxPartyMembers, partyLobbyOptions); await OnJoinedParty(m_PartyLobby); } catch (LobbyServiceException e) { PopUpLobbyError(e); }}
다른 플레이어를 파티 리더로 배정(파티 리더인 경우)
async Task TrySetHost(string playerId){ if (!m_LocalPlayer.IsHost) return; try { var setHostOptions = new UpdateLobbyOptions() { HostId = playerId }; await LobbyService.Instance.UpdateLobbyAsync(m_PartyLobby.Id, setHostOptions); } catch (LobbyServiceException e) { PopUpLobbyError(e); }
플레이어 초대/파티 참여
플레이어에게 초대를 전달하는 방법을 만들어야 합니다. 다만 플레이어에게 초대를 전달하는 기능 대신 플레이어가 문자 메시지로 LobbyCode를 공유할 수 있습니다.async void TryLobbyJoin(string joinCode){ try { var joinOptions = new JoinLobbyByCodeOptions() { Player = m_LocalPlayer }; m_PartyLobby = await LobbyService.Instance.JoinLobbyByCodeAsync(joinCode, joinOptions); await OnJoinedParty(m_PartyLobby); } catch (LobbyServiceException e) { var joinFailMessage = FormatLobbyError(e); m_LobbyJoinPopupPopupView.JoinPartyFailed(joinFailMessage); }}
파티 나가기
async void OnLeaveLobby(){ await RemoveFromParty(m_LocalPlayer.Id); NotificationEvents.onNotify?.Invoke( new NotificationData( "You", "Left the Party!", 1)); //Leave Lobby Regardless of result OnLeftParty();}
파티 리더인 경우 파티에서 플레이어를 제거할 수 있습니다
async Task RemoveFromParty(string playerID){ try { await LobbyService.Instance.RemovePlayerAsync(m_PartyLobby.Id, playerID); } catch (LobbyServiceException e) { PopUpLobbyError(e); }}
지원
다음 방법 중 하나를 사용하여 Lobby 지원 팀에 문의할 수 있습니다.- Multiplayer 대시보드의 페이지 오른쪽 상단에 있는 Help and Support 아이콘을 선택해 지원 티켓을 생성합니다.
- 우려 사항, 기능 요청, 어떤 방법으로든 문제를 재현한 세부 내용을 포함해 Lobby 포럼 또는 Discord 채널에 게시물을 작성해 주십시오.