> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Unity 빠른 시작

> PlayFab Unity SDK를 설치하고 Editor와 클라이언트 라이브러리를 사용하여 Unity 프로젝트에서 C#으로 첫 번째 PlayFab 클라이언트 API 호출을 수행합니다.

# 빠른 시작: Unity에서 C#용 PlayFab 클라이언트 라이브러리

Unity에서 C#용 PlayFab 클라이언트 라이브러리를 시작해 봅시다. 패키지를 설치하고 기본 작업의 예제 코드를 시도하는 단계를 따르세요.

이 빠른 시작은 Unity 엔진에서 첫 번째 PlayFab API 호출을 수행하는 데 도움이 됩니다.

## 요구 사항

* [PlayFab 개발자 계정](https://developer.playfab.com).
* 설치된 Unity Editor 사본. 개인 용도로 Unity Hub를 통해 Unity를 설치하거나 전문 용도로 Unity+를 설치하려면 [Download Unity](https://unity.com/download)를 참조하세요.

<Note>
  PlayFab Unity SDK는 Unity Editor 버전 5.3(2015년 12월 릴리스) 이상을 지원합니다.
</Note>

* 다음 유형 중 하나의 Unity 프로젝트:
  * 완전히 새로운 프로젝트. 자세한 내용은 [Starting Unity for the first time](https://docs.unity3d.com/Manual/get-started-with-unity.html)을 참조하세요.
  * 가이드가 있는 자습서 프로젝트. 자세한 내용은 [Getting Started with Unity](https://learn.unity.com/)를 참조하세요.
  * 기존 프로젝트.
* PlayFab Unity SDK.

## PlayFab SDK 다운로드 및 설치

PlayFab Editor Extensions 패키지를 사용하여 SDK를 설치하거나 SDK를 직접 설치합니다. PlayFab Editor Extensions는 SDK 설치 및 타이틀의 일부 PlayFab 설정 구성을 간소화하는 독립형 Unity 플러그인입니다. PlayFab Editor Extensions를 사용하지 않고 SDK를 설치하는 방법에 대한 자세한 내용은 [Installing the PlayFab SDK Without Editor Extensions for Unity](/services/playfab/sdks/unity3d/installing-unity3d-sdk#download-and-install-the-sdk-only)를 참조하세요.

1. [PlayFab Unity Editor Extensions Asset Package](https://aka.ms/PlayFabUnityEdEx)를 다운로드합니다.
2. Unity 프로젝트를 엽니다.
3. 파일을 다운로드한 위치로 이동하여 `PlayFabEditorExtensions.UnityPackage` 파일을 두 번 클릭해 Unity Editor에서 **Import Unity Package** 대화 상자를 엽니다.

   <img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/sdks/unity3d/import-uedex.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=7fe7482c3981c4c09469872bc7ee6bc1" alt="Import Unity Asset package" width="352" height="582" data-path="images/playfab/sdks/unity3d/import-uedex.png" />
4. PlayFab Unity Editor Extensions를 프로젝트로 가져오려면 **Import**를 선택합니다.
5. 가져오기가 완료되면 PlayFab Unity Editor Extensions 패널이 자동으로 열리고 SDK 설치 대화 상자가 표시되어야 합니다.

<Note>
  패널이 열리지 않거나 패널을 닫은 후 다시 열려면 **Window** > **PlayFab** > **Editor Extensions**를 선택하여 열 수 있습니다.
</Note>

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/sdks/unity3d/install-sdk.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=ef1dddd1a1f2e66865c1ffae2f972fbe" alt="Install PlayFab SDK" width="395" height="384" data-path="images/playfab/sdks/unity3d/install-sdk.png" />

6\. SDK를 프로젝트로 자동으로 가져오거나 현재 설치된 버전을 업그레이드하려면 **Install PlayFab SDK**를 선택합니다.

## 타이틀 설정 지정

API를 호출하기 전에 **PlayFabSharedSettings.asset**을 만들고 호출을 받을 Title ID를 지정해야 합니다. Title ID를 설정하려면:

1. **PlayFab** > **MakePlayFabSharedSettings**를 선택하면 설정 자산이 생성되고 Inspector 패널에서 열립니다.

2. Inspector에서 **Title ID**를 설정합니다.

   <img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/sdks/unity3d/playfab-shared-settings-title-id.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=6d2534c5573758d21d3f860adcab8f65" alt="PlayFab Title ID Setting" width="1018" height="510" data-path="images/playfab/sdks/unity3d/playfab-shared-settings-title-id.png" />

3. 이제 언제든지 Editor Extensions 패널의 **Settings** 탭에서 현재 Title ID를 확인하고 변경할 수도 있습니다.

**Developer Secret Key**는 기본적으로 설정되어 있지 않습니다. 서버 빌드를 만드는 경우 **PlayFabSharedSettings.asset**에 시크릿 키를 제공해야 합니다.

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/sdks/unity3d/playfab-shared-settings-secret-key.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=35f6f7c6dcd9094e0699bfa967b8ec77" alt="PlayFab Developer Secret Key Setting" width="1018" height="510" data-path="images/playfab/sdks/unity3d/playfab-shared-settings-secret-key.png" />

**Developer Secret Key**는 타이틀의 기본 시크릿 키로 자동 설정됩니다. 시크릿 키에 대한 자세한 내용은 [Secret key management](/services/playfab/live-service-management/gamemanager/secret-key-management)를 참조하세요.

그렇지 않은 경우 게임 클라이언트를 빌드할 때 시크릿 키가 **설정되지 않았는지** 확인하세요. 시크릿 키에 대한 자세한 내용은 [Secret key management](/services/playfab/live-service-management/gamemanager/secret-key-management)를 참조하세요.

<Note>
  이 확장 기능을 사용하면 PlayFab에 대한 요청을 수행하는 데 사용되는 HTTP 전송을 사용자 지정할 수 있습니다. 권장되는 기본값은 Unity Web Request입니다. 이전 엔진 버전이나 게임별 HTTP 구현과의 호환성을 제공하기 위한 다른 옵션도 있습니다.
</Note>

## 첫 번째 API 호출 수행

이 가이드 부분에서는 첫 번째 PlayFab API 호출을 수행하기 위한 최소한의 단계를 제공합니다. 이 예제는 GUI나 화면 피드백을 제공하지 않습니다. 확인은 콘솔 로그에 표시됩니다.

1. Unity 프로젝트에 *Scripts* 폴더가 아직 없는 경우(**HDRP** 및 **LWRP/URP** 템플릿에는 기본적으로 있음), 프로젝트 패널에서 **Assets** 폴더를 마우스 오른쪽 버튼으로 클릭하고 **Create** > **Folder**를 선택합니다.
2. **Assets** 창에서 폴더 이름을 *Scripts*로 지정합니다.
3. Scripts 폴더를 마우스 오른쪽 버튼으로 클릭하고 **Create** > **C# Script**를 선택합니다.
4. 스크립트 이름을 PlayFabLogin으로 지정합니다.
5. 파일을 두 번 클릭하여 코드 편집기에서 엽니다.
6. 코드 편집기에서 PlayFabLogin.cs의 내용을 제공된 코드로 바꾸고 파일을 저장합니다.

   ```csharp theme={null}
   using PlayFab;
   using PlayFab.ClientModels;
   using UnityEngine;

   public class PlayFabLogin : MonoBehaviour
   {
       public void Start()
       {
           if (string.IsNullOrEmpty(PlayFabSettings.staticSettings.TitleId)){
               /*
               Please change the titleId below to your own titleId from PlayFab Game Manager.
               If you have already set the value in the Editor Extensions, this can be skipped.
               */
               PlayFabSettings.staticSettings.TitleId = "42";
           }
           var request = new LoginWithCustomIDRequest { CustomId = "GettingStartedGuide", CreateAccount = true};
           PlayFabClientAPI.LoginWithCustomID(request, OnLoginSuccess, OnLoginFailure);
       }

       private void OnLoginSuccess(LoginResult result)
       {
           Debug.Log("Congratulations, you made your first successful API call!");
       }

       private void OnLoginFailure(PlayFabError error)
       {
           Debug.LogWarning("Something went wrong with your first API call.  :(");
           Debug.LogError("Here's some debug information:");
           Debug.LogError(error.GenerateErrorReport());
       }
   }
   ```

<Info>
  제공된 코드는 모바일 타이틀에서 사용하기 위한 것이 아닙니다. 이는 예제일 뿐이며 `CustomID`로 로그인하는 방법을 보여줍니다. 모바일 타이틀에 대한 로그인을 구현하려면 다음 중 하나를 사용하세요.
</Info>

[LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid), [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid), 또는 [LoginWithFacebook](xref:titleid.playfabapi.com.client.authentication.loginwithfacebook)과 같은 소셜 로그인 형태.
7\. **Hierarchy** 패널에서 씬을 마우스 오른쪽 버튼으로 클릭한 다음 **Create Empty**(또는 이전 Unity 버전에서는 **Game Object** > **Create Empty**)를 선택합니다.
8\. 새 Game Object를 선택하고 **Inspector** 패널에서 **Add Component**를 선택합니다.
9\. 컴포넌트 드롭다운 메뉴에서 **Scripts** > **PlayFabLogin**을 선택합니다.

Unity Editor에서 스크립트를 만들고 사용하는 방법에 대한 자세한 내용은 Unity 문서의 [Creating and Using Scripts](https://docs.unity3d.com/Manual/CreatingAndUsingScripts.html)를 참조하세요.

## 완료 및 실행

이제 이 샘플을 테스트할 준비가 되었습니다.

* 모든 파일을 저장하고 Unity Editor로 돌아가야 합니다.
* 편집기 상단의 **Play** 버튼을 누릅니다.

Unity Console Panel에서 다음 메시지가 표시되어야 합니다.

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/sdks/unity3d/first-call-log.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=7f898d9ade63a607072bd75daeebf12d" alt="Console log of first API call" width="600" height="242" data-path="images/playfab/sdks/unity3d/first-call-log.png" />

<Tip>
  또는 PlayFab에 로그인하여 Game Manager의 타이틀로 이동하고 **PlayStream Monitor** 탭을 선택할 수 있습니다. 활발히 실행 중인 Unity 타이틀에서 포커스를 전환할 때마다 이벤트가 전달되며, 이를 PlayStream Monitor에서 확인할 수 있습니다.
</Tip>

사용 가능한 모든 클라이언트 API 호출 목록은 [PlayFab API References](/services/playfab/api-references)를 참조하세요.

## 다음 단계

이 빠른 시작에서는 사용자 인증을 위한 간소화된 절차를 보여줍니다. 사용자 인증에 대한 자세한 내용은 [Login basics and best practices](/services/playfab/identity/player-identity/login/login-basics-best-practices)를 참조하세요.

계정을 여러 디바이스 및 로그인 메커니즘에 연결하는 방법에 대해 알아보세요: [Account linking quickstart](/services/playfab/identity/player-identity/login/quickstart).


## Related topics

- [빠른 시작](/ko/services/playfab/economy-monetization/economy-v2/quickstart.md)
- [Photon 빠른 시작](/ko/services/playfab/live-service-management/service-gateway/add-ons/photon/quickstart.md)
- [Lobby SDK 빠른 시작](/ko/services/playfab/multiplayer/lobby/lobby-getting-started.md)
- [엔터티 빠른 시작](/ko/services/playfab/live-service-management/game-configuration/entities/quickstart.md)
- [Multiplayer Unity 플러그인 빠른 시작](/ko/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/multiplayer-unity-plugin-quickstart.md)
