Skip to main content

빠른 시작: PlayFab Party Unity 플러그인

이 빠른 시작은 Unity용 Party SDK를 설치하고 플레이어를 Party 네트워크에 함께 참여시키는 첫 번째 API 호출을 수행하는 데 도움이 됩니다. 계속하기 전에 PlayFab 계정에서 Game Manager를 통해 Party 기능 활성화를 완료했는지 확인하세요.
Microsoft Game Development Kit(GDK)를 기반으로 게임을 개발하는 데 이 플러그인을 사용할 예정이라면 GDK를 별도로 획득하고 설치해야 합니다. 또한 XBOX 콘솔의 Game Core용 Unity 애드온에 대한 자세한 내용을 참조하세요.

요구 사항

  • PlayFab 개발자 계정.
  • 설치된 Unity Editor. Unity Hub를 통해 개인용 Unity를 설치하거나 전문 용도의 Unity+를 설치하려면 Unity 다운로드를 참조하세요. 필요한 경우 특정 플랫폼의 문서에서 Unity 지원을 확인하세요. 지원되는 최소 Unity 버전은 Unity 2017 LTS입니다.
  • Unity 프로젝트로, 다음 옵션 중 하나가 될 수 있습니다.
    • 완전히 새로운 프로젝트: 자세한 내용은 처음 Unity 시작을 참조하세요.
    • 가이드 자습서 프로젝트. 자세한 내용은 Unity 시작하기를 참조하세요.
    • 기존 프로젝트.
  • PlayFab “core” Unity3D SDK. Unity3D SDK 설치에 대한 정보는 빠른 시작: Unity의 C#용 PlayFab 클라이언트 라이브러리의 “Download and install PlayFab SDK” 섹션을 참조하세요.

PlayFab Party Unity 플러그인 다운로드 및 설치

다음 단계에 따라 PlayFab Party Unity 플러그인을 다운로드하고 설치합니다.
  1. PlayFab Party Unity Plugin Asset 패키지를 다운로드합니다(플랫폼에 따라 배포 지점을 사용).
  2. 중요! 플러그인과 함께 게시된 README 파일의 정보를 참조하세요. 이는 각 특정 버전에 맞춰져 있으며 플랫폼에 특정한 중요한 지침을 포함할 수 있습니다.
  3. Unity 프로젝트를 엽니다.
  4. .unitypackage를 저장한 위치로 이동하여 두 번 클릭하여 가져오기 대화 상자를 엽니다.
  5. PlayFab Party Unity Plugin을 프로젝트로 가져오려면 Import를 선택합니다.

씬 설정

이 부분의 가이드에서는 Unity에서 PlayFab Party API를 호출할 수 있도록 PlayFabMultiplayerManager를 씬에 추가하는 방법을 보여줍니다. 네트워크를 만들기 전에 PlayFab 플레이어가 로그인되어 있어야 합니다. 플레이어 로그인에 대한 정보는 빠른 시작: Unity의 C#용 PlayFab 클라이언트 라이브러리의 첫 번째 API 호출 만들기를 참조하세요.
  1. Unity 편집기의 Project 창에서 Assets > PlayFabPartySDK > Prefabs로 이동합니다.
  2. Prefabs 폴더에서 PlayFabMultiplayerManager를 씬의 Hierarchy 창으로 끌어 놓습니다.
  3. 씬에서 “HelloPartyLogic”이라는 빈 Game Object를 만듭니다.
  4. HelloPartyLogic Game Object를 선택하여 Inspector를 엽니다.
  5. Add Component를 선택합니다.
  6. “HelloPartyLogic”을 입력하고 Enter를 눌러 새 스크립트 메뉴를 표시합니다.
  7. Enter를 다시 눌러 새 스크립트 HelloPartyLogic.cs를 만듭니다.
  8. Project 창에서 스크립트를 찾아 두 번 클릭하여 스크립트를 편집합니다.
  9. 스크립트에 다음 using 문을 추가합니다.
  10. PlayFab에 로그인하기 위해 Start 메서드에 다음 코드를 추가합니다.
  11. 클래스에 다음 메서드를 추가합니다.
다음 오류가 발생할 수 있습니다. Error CS0227 Unsafe code may only appear if compiling with /unsafe The plugin requires unsafe code because it interops with a native DLL. Mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "XGamingRuntime", "AMD64".
Microsoft GDK 및 Windows는 x64만 지원합니다. 이러한 문제를 해결하려면:
  1. Unity Editor에서 File > Build Settings를 선택합니다.
  2. 플랫폼을 선택합니다. 그런 다음 Architecture 드롭다운에서 x86_64 또는 x64를 선택합니다.
  3. Player Settings를 선택합니다.
  4. 오른쪽 창에서 Other Setting을 선택합니다.
  5. Allow unsafe Code 설정을 찾아 선택합니다.
  6. Build SettingsProject Settings 창을 닫습니다.

네트워크에 연결

이 부분의 가이드에서는 네트워크를 만들고 참가하는 방법을 보여줍니다.
  1. HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 네트워크를 만들고 참가합니다.
  2. OnNetworkJoined 이벤트 핸들러를 정의하려면 클래스에 다음 코드를 추가합니다.
  3. 저장하고 Unity Editor에서 Play를 선택합니다. Network ID가 Console 창에 표시됩니다.

기존 네트워크에 참가

이 부분의 가이드에서는 다른 클라이언트가 만든 기존 네트워크에 참가하는 방법을 보여줍니다.
  1. HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 네트워크에 참가합니다.
  2. 로컬 클라이언트가 네트워크에 참가할 때 실행되는 이벤트를 정의하려면 OnLoginSuccess 메서드에 다음 코드를 추가합니다.
  3. OnNetworkJoined 이벤트 핸들러를 정의하려면 클래스에 다음 코드를 추가합니다.
    호스트에서 참가하려는 다른 플레이어로 Network ID를 가져오는 방법에는 여러 가지가 있습니다. 그렇게 하는 방법의 예는 이 Unity 플러그인의 샘플을 참조하세요.
  4. 저장하고 Unity Editor에서 Play를 선택합니다. 문자열 “Network joined!”가 Console 창에 표시됩니다.

다른 플레이어에 액세스

이 부분의 가이드에서는 로컬 플레이어를 포함하여 네트워크의 다른 플레이어에 액세스하는 방법을 보여줍니다. 네트워크에 새 플레이어가 참가하고 나가는 것을 수신 대기하려면 OnRemotePlayerJoined 및 OnRemotePlayerLeft 이벤트에 등록합니다.
  1. HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 네트워크를 만들고 참가합니다.
  2. 클래스에 다음 메서드를 추가합니다.
  3. 로컬 플레이어에 액세스하려면 OnRemotePlayerJoined 메서드에 다음 코드를 추가합니다.
PlayFabPlayer 클래스에는 플레이어를 식별하고, 음소거하고, 채팅 UI에서 채팅 상태를 렌더링하는 속성이 포함되어 있습니다.

데이터 메시지 보내기 및 받기

이 부분의 가이드에서는 데이터 메시지를 보내고 받는 방법을 보여줍니다. 데이터 메시지를 보내고 받기 전에 네트워크에 참가해야 합니다.
  1. HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 데이터 메시지를 수신 대기합니다.
  2. 클래스에 OnDataMessageRecieved 이벤트 핸들러를 추가합니다.
  3. 데이터 메시지를 보내려면 Update 메서드에 다음 코드를 추가합니다.
HelloPartyLogic.cs를 저장하고 Unity Editor에서 Play를 선택합니다.
  1. 두 번째 클라이언트에서 네트워크에 연결의 단계를 반복하여 네트워크를 만들고 참가합니다.
  2. 첫 번째 클라이언트에 반환된 Network ID를 복사하여 네트워크에 연결합니다.
  3. 씬에서 메시지를 보내려면 선택합니다. “Hello (data message)”가 Console 창에 표시됩니다.

채팅 메시지 보내기 및 받기

이 부분의 가이드에서는 채팅 메시지를 보내고 받고 원격 플레이어를 음소거하는 방법을 보여줍니다. 텍스트 채팅 외에도 Party는 플레이어 간 음성 채팅을 자동으로 활성화합니다. 채팅 메시지를 보내고 받기 전에 네트워크에 참가해야 합니다.
  1. HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 채팅 메시지를 수신 대기합니다.
  2. 클래스에 이벤트 핸들러 OnChatMessageReceived를 추가합니다.
HelloPartyLogic.cs를 저장하고 Unity Editor에서 Play를 누릅니다.
  1. 두 번째 클라이언트에서 네트워크에 연결의 단계를 반복하여 네트워크를 만들고 참가합니다.
  2. 첫 번째 클라이언트에 반환된 Network ID를 복사하여 네트워크에 연결합니다.
  3. 씬에서 선택하면 메시지가 전송되어 Console 창에 표시됩니다.
  4. 플레이어에게 다른 플레이어를 음소거하는 옵션을 제공하려면 IsMuted 속성을 true로 설정합니다.

사용자 지정 피어 연결 구성 옵션으로 네트워크에 연결

이 부분의 가이드에서는 사용자 지정 피어 연결 구성 옵션으로 네트워크를 만들고 참가하는 방법을 보여줍니다. 기본 옵션은 P2P이지만 여기 표시된 플래그의 조합을 사용하면 사용자가 이 옵션을 수정할 수 있습니다: DirectPeerConnectivityOptions. 이 예에서는 P2P가 어떻게 설정되는지 보여줍니다.
  1. HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 네트워크를 만들고 참가합니다.

타이틀 일시 중단 처리

일부 플랫폼은 타이틀 실행의 임시 일시 중단을 지원합니다: iOS, Switch 및 GDK. 타이틀이 일시 중단되면 네트워크 스택이 무효화되고 PlayFab Party는 PlayFab Party 네트워크에 대한 연결을 유지할 수 없습니다. PlayFab Party를 사용할 때 타이틀 실행의 일시 중단 및 재개를 처리하기 위해 특별한 고려가 필요합니다.

iOS

iOS에서는 ResetParty()를 호출하여 PlayFab Party 네트워크를 나가고 다시 연결해야 합니다.

Switch 및 GDK

Nintendo Switch 및 Microsoft GDK에서는 타이틀 실행이 재개될 때까지 기다린 후 PlayFab Party를 다시 초기화하고 네트워크에 다시 연결하기 위해 PlayFab Party와 PlayFabMultiplayerManager와 관련된 모든 리소스를 정리해야 합니다. “타이틀 일시 중단 중에 PlayFab Party를 정리하려면 Suspend()를 호출합니다. 타이틀이 실행을 재개하면 Resume()을 호출하여 PlayFab Party를 다시 초기화합니다. PlayFab Party와 PlayFabMultiplayerManager와 관련된 모든 리소스가 성공적으로 초기화되면 기존 네트워크에 참가의 단계를 반복합니다.
마지막 수정일 2026년 8월 24일