> ## 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，并使用编辑器和客户端库从 Unity 项目中通过 C# 进行首个 PlayFab 客户端 API 调用。

# 快速入门：Unity 中的 PlayFab C# 客户端库

开始使用 Unity 中的 PlayFab C# 客户端库。按照步骤安装该软件包，并试用基本任务的示例代码。

本快速入门帮助您在 Unity 引擎中进行首个 PlayFab API 调用。

## 要求

* [PlayFab 开发者帐户](https://developer.playfab.com)。
* 已安装的 Unity 编辑器副本。要通过 Unity Hub 安装个人用途的 Unity 或专业用途的 Unity+，请参阅 [Download Unity](https://unity.com/download)。

<Note>
  PlayFab Unity SDK 支持 Unity 编辑器版本 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 是一个独立的 Unity 插件，可简化 SDK 的安装以及为您的游戏配置某些 PlayFab 设置的过程。有关在不使用 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 编辑器中打开 **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\. 选择 **Install PlayFab SDK** 以自动将 SDK 导入到您的项目中，或升级当前安装的版本。

## 设置您的 title 设置

在进行 API 调用之前，您必须创建 **PlayFabSharedSettings.asset** 并指定接收调用的 Title ID。要设置 Title ID：

1. 选择 **PlayFab** > **MakePlayFabSharedSettings**，这会创建 settings asset 并在 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** 中提供 secret key。

<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** 会自动设置为该 Title 的默认 secret key。有关 secret key 的更多信息，请参阅 [Secret key management](/services/playfab/live-service-management/gamemanager/secret-key-management)。

否则，请确保在构建游戏客户端时**未设置** secret key。有关 secret key 的更多信息，请参阅 [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>
  提供的代码不适用于移动 Title。这只是一个示例，展示了如何使用 `CustomID` 登录。要为移动 Title 实现登录，请使用
</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 编辑器中创建和使用脚本的更多信息，请参阅 Unity 文档中的 [Creating and Using Scripts](https://docs.unity3d.com/Manual/CreatingAndUsingScripts.html)。

## 完成并执行

您现在已准备好测试此示例。

* 请务必保存所有文件并返回 Unity 编辑器
* 按下编辑器顶部的 **Play** 按钮

您应该会在 Unity 控制台面板中看到以下消息。

<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 中导航到该 title，然后选择 **PlayStream Monitor** 选项卡。每次您将焦点从正在运行的 Unity Title 移开时，都会传递一个事件，您可以在 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)。
