빠른 시작: 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 플러그인을 다운로드하고 설치합니다.- PlayFab Party Unity Plugin Asset 패키지를 다운로드합니다(플랫폼에 따라 배포 지점을 사용).
- 중요! 플러그인과 함께 게시된 README 파일의 정보를 참조하세요. 이는 각 특정 버전에 맞춰져 있으며 플랫폼에 특정한 중요한 지침을 포함할 수 있습니다.
- Unity 프로젝트를 엽니다.
- .unitypackage를 저장한 위치로 이동하여 두 번 클릭하여 가져오기 대화 상자를 엽니다.
- PlayFab Party Unity Plugin을 프로젝트로 가져오려면 Import를 선택합니다.
씬 설정
이 부분의 가이드에서는 Unity에서 PlayFab Party API를 호출할 수 있도록PlayFabMultiplayerManager를 씬에 추가하는 방법을 보여줍니다.
네트워크를 만들기 전에 PlayFab 플레이어가 로그인되어 있어야 합니다. 플레이어 로그인에 대한 정보는 빠른 시작: Unity의 C#용 PlayFab 클라이언트 라이브러리의 첫 번째 API 호출 만들기를 참조하세요.
- Unity 편집기의 Project 창에서 Assets > PlayFabPartySDK > Prefabs로 이동합니다.
- Prefabs 폴더에서 PlayFabMultiplayerManager를 씬의 Hierarchy 창으로 끌어 놓습니다.
- 씬에서 “HelloPartyLogic”이라는 빈 Game Object를 만듭니다.
- HelloPartyLogic Game Object를 선택하여 Inspector를 엽니다.
- Add Component를 선택합니다.
- “HelloPartyLogic”을 입력하고 Enter를 눌러 새 스크립트 메뉴를 표시합니다.
- Enter를 다시 눌러 새 스크립트 HelloPartyLogic.cs를 만듭니다.
- Project 창에서 스크립트를 찾아 두 번 클릭하여 스크립트를 편집합니다.
-
스크립트에 다음 using 문을 추가합니다.
-
PlayFab에 로그인하기 위해 Start 메서드에 다음 코드를 추가합니다.
-
클래스에 다음 메서드를 추가합니다.
다음 오류가 발생할 수 있습니다.
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".- Unity Editor에서 File > Build Settings를 선택합니다.
- 플랫폼을 선택합니다. 그런 다음 Architecture 드롭다운에서 x86_64 또는 x64를 선택합니다.
- Player Settings를 선택합니다.
- 오른쪽 창에서 Other Setting을 선택합니다.
- Allow unsafe Code 설정을 찾아 선택합니다.
- Build Settings 및 Project Settings 창을 닫습니다.
네트워크에 연결
이 부분의 가이드에서는 네트워크를 만들고 참가하는 방법을 보여줍니다.-
HelloPartyLogic.cs 스크립트를 엽니다.
OnLoginSuccess메서드에서 다음 코드를 추가하여 네트워크를 만들고 참가합니다. -
OnNetworkJoined 이벤트 핸들러를 정의하려면 클래스에 다음 코드를 추가합니다.
- 저장하고 Unity Editor에서 Play를 선택합니다. Network ID가 Console 창에 표시됩니다.
기존 네트워크에 참가
이 부분의 가이드에서는 다른 클라이언트가 만든 기존 네트워크에 참가하는 방법을 보여줍니다.-
HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 네트워크에 참가합니다.
-
로컬 클라이언트가 네트워크에 참가할 때 실행되는 이벤트를 정의하려면
OnLoginSuccess메서드에 다음 코드를 추가합니다. -
OnNetworkJoined 이벤트 핸들러를 정의하려면 클래스에 다음 코드를 추가합니다.
호스트에서 참가하려는 다른 플레이어로 Network ID를 가져오는 방법에는 여러 가지가 있습니다. 그렇게 하는 방법의 예는 이 Unity 플러그인의 샘플을 참조하세요.
- 저장하고 Unity Editor에서 Play를 선택합니다. 문자열 “Network joined!”가 Console 창에 표시됩니다.
다른 플레이어에 액세스
이 부분의 가이드에서는 로컬 플레이어를 포함하여 네트워크의 다른 플레이어에 액세스하는 방법을 보여줍니다. 네트워크에 새 플레이어가 참가하고 나가는 것을 수신 대기하려면 OnRemotePlayerJoined 및 OnRemotePlayerLeft 이벤트에 등록합니다.-
HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 네트워크를 만들고 참가합니다.
-
클래스에 다음 메서드를 추가합니다.
-
로컬 플레이어에 액세스하려면 OnRemotePlayerJoined 메서드에 다음 코드를 추가합니다.
데이터 메시지 보내기 및 받기
이 부분의 가이드에서는 데이터 메시지를 보내고 받는 방법을 보여줍니다. 데이터 메시지를 보내고 받기 전에 네트워크에 참가해야 합니다.-
HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 데이터 메시지를 수신 대기합니다.
-
클래스에
OnDataMessageRecieved이벤트 핸들러를 추가합니다. -
데이터 메시지를 보내려면 Update 메서드에 다음 코드를 추가합니다.
- 두 번째 클라이언트에서 네트워크에 연결의 단계를 반복하여 네트워크를 만들고 참가합니다.
- 첫 번째 클라이언트에 반환된 Network ID를 복사하여 네트워크에 연결합니다.
- 씬에서 메시지를 보내려면 선택합니다. “Hello (data message)”가 Console 창에 표시됩니다.
채팅 메시지 보내기 및 받기
이 부분의 가이드에서는 채팅 메시지를 보내고 받고 원격 플레이어를 음소거하는 방법을 보여줍니다. 텍스트 채팅 외에도 Party는 플레이어 간 음성 채팅을 자동으로 활성화합니다. 채팅 메시지를 보내고 받기 전에 네트워크에 참가해야 합니다.-
HelloPartyLogic.cs 스크립트를 엽니다. OnLoginSuccess 메서드에서 다음 코드를 추가하여 채팅 메시지를 수신 대기합니다.
-
클래스에 이벤트 핸들러
OnChatMessageReceived를 추가합니다.
- 두 번째 클라이언트에서 네트워크에 연결의 단계를 반복하여 네트워크를 만들고 참가합니다.
- 첫 번째 클라이언트에 반환된 Network ID를 복사하여 네트워크에 연결합니다.
- 씬에서 선택하면 메시지가 전송되어 Console 창에 표시됩니다.
-
플레이어에게 다른 플레이어를 음소거하는 옵션을 제공하려면 IsMuted 속성을 true로 설정합니다.
사용자 지정 피어 연결 구성 옵션으로 네트워크에 연결
이 부분의 가이드에서는 사용자 지정 피어 연결 구성 옵션으로 네트워크를 만들고 참가하는 방법을 보여줍니다. 기본 옵션은 P2P이지만 여기 표시된 플래그의 조합을 사용하면 사용자가 이 옵션을 수정할 수 있습니다: DirectPeerConnectivityOptions. 이 예에서는 P2P가 어떻게 설정되는지 보여줍니다.-
HelloPartyLogic.cs 스크립트를 엽니다.
OnLoginSuccess메서드에서 다음 코드를 추가하여 네트워크를 만들고 참가합니다.
