开始使用
Follow this workflow to create a C# module in the Unity Editor and deploy it to the Cloud Code service.
阅读时间7 分钟最后更新于 1 个月前
本页介绍在 Unity 编辑器中创建 C# 模块并将其部署到 Cloud Code 服务所需的步骤。
工作流程中的示例创建一个简单的 Hello World C# 模块。要开始使用 Cloud Code 模块,请按照以下步骤操作:
- 设置 Unity 编辑器:将 Unity Gaming Services(Unity 游戏服务)项目与 Unity 编辑器关联,并安装所需的包。
- 创建 C# 模块引用文件:在编辑器中创建一个模块引用文件,并将此文件关联到模块项目。
- 生成新模块:从 Deployment(部署)窗口生成一个新模块。
- 生成绑定:从解决方案生成客户端代码。
- 部署该模块:将该模块部署到 Cloud Code 服务。
- 从游戏调用模块函数:从游戏客户端调用模块终端。
视频演示
观看下面的视频,了解在 Unity 编辑器中创建 C# 模块并将其部署到 Cloud Code 服务的步骤。设置 Unity 编辑器
要在编辑器中创建 Cloud Code 模块,您需要安装所需的包并将 Unity Gaming Services(Unity 游戏服务)项目与 Unity 编辑器关联。关联项目
将 Unity Gaming Services(Unity 游戏服务)项目与 Unity 编辑器关联。您可以在 Unity Cloud Dashboard 中找到您的 UGS Project ID。 如果您创建一个新的 Unity 项目,则可以在项目创建过程中将您的 Unity Gaming Services(Unity 游戏服务)项目与 Unity 编辑器关联。 如果您正在使用现有的 Unity 项目,则可以从 Services(服务)窗口将您的 Unity Gaming Services(Unity 游戏服务)项目与 Unity 编辑器关联。- 在 Unity 编辑器中,选择 Edit(编辑)> Project Settings(项目设置)> Services(服务)。
-
关联您的项目。
如果项目没有 Unity Project ID:- 选择 Create a Unity Project ID(创建 Unity Project ID)> Organizations(组织),然后从下拉选单中选择一个组织。
- 选择 Create project ID(创建 Project ID)。
如果已有 Unity Project ID:- 选择 Use an existing Unity project ID(使用现有 Unity Project ID)。
- 从下拉选单中选择组织和项目。
- 选择 Link project ID(关联 Project ID)。
安装所需的包
要在编辑器中创建 Cloud Code 模块,您需要安装以下包:- Deployment
- Cloud Code(2.6.1 或更高版本)
您可以从 Unity 编辑器的 Package Manager(包管理器)窗口安装这些包并将其添加到可用包列表中:
- 在 Unity 编辑器中选择 Window(窗口)> Package Manager(包管理器) 以打开 Package Manager(包管理器)窗口。
- 选择 +(添加)> Add package by name...(按名称添加包...)。
- 输入 。
com.unity.services.deployment - 选择 Add(添加)。
- 对 重复以上步骤。
com.unity.services.cloudcode
安装并设置 .NET
要在编辑器中部署 Cloud Code 模块,您需要安装 .NET。 要在编辑器中设置默认的 .NET 路径,请按照以下步骤操作:- 在 Unity 编辑器中,打开 Preferences(偏好设置)窗口。
- 在 Windows 上,选择 Edit(编辑)> Preferences...(偏好设置...)> Cloud Code。
- 在 macOS 上,选择 Unity > Settings...(设置...)> Cloud Code。
- 在 .NET development environment(.NET 开发环境) 部分中,将 .NET path(.NET 路径) 修改为实际安装路径。
- 选择 Apply(应用)。
设置 Deployment(部署)窗口
在 Deployment(部署)窗口中可以将 Cloud Code 模块部署到远程环境。 如果安装了 Deployment 包,则可以从 Unity 编辑器访问该包。- 在 Unity 编辑器版本 2021.3+ 中,选择 Window(窗口)> Deployment(部署)。
- 在 Unity 编辑器版本 2022+ 中,选择 Services(服务)> Deployment(部署)。
- 在 Unity 编辑器中,打开 Deployment(部署)窗口。
- 在 Deployment(部署)窗口中,选择 Deployment Settings(部署设置)。
- 从新的 Environments(环境)窗口的 Editor Environment(编辑器环境) 下拉选单中选择一个环境。
创建 C# 模块引用文件
要在 Unity 编辑器中创建 Cloud Code 模块,您需要创建 Cloud Code C# 模块引用文件。该文件引用一个包含需要部署的 C# 模块项目的解决方案。- 在 Unity 编辑器的 Project(项目)窗口中右键单击,然后选择 Create(创建)> Cloud Code C# Module Reference(Cloud Code C# 模块引用)。
- 将模块引用文件命名为 。
HelloWorld - 按 Enter(输入)。

生成新模块
Cloud Code 模块是简单的 .NET 项目,其中公开了游戏客户端可以调用的终端。在 Unity 编辑器中,生成模块时会使用可修改的模块模板创建一个解决方案。要详细了解 Cloud Code 模块的结构,请参阅模块结构。 利用模块引用文件可以从 Deployment(部署)窗口生成新模块。生成的模块包含开始开发模块所需的基本设置。- 在 Unity 编辑器的 Project(项目)窗口中选择模块引用文件。
- 在 Inspector(检视面板)窗口中,单击 Generate Solution(生成解决方案)。
- 在 Unity 编辑器中,打开 Deployment(部署)窗口。
- 右键单击模块引用文件,然后选择 Generate Solution(生成解决方案)。

HelloWorld生成绑定
生成新模块后可以生成绑定。绑定是类型安全 (type-safe) 的客户端代码,您可以将其用于从游戏客户端调用模块终端。- 在 Unity 编辑器的 Project(项目)窗口中选择模块引用文件。
- 在 Inspector(检视面板)窗口中,选择 Generate Bindings(生成绑定)。
部署该模块
要使游戏客户端能够访问您的模块终端,您需要将模块部署到 Cloud Code 服务。您可以使用 Deployment(部署)窗口来部署模块。 要部署模块,请执行以下操作:- 在 Unity 编辑器中,打开 Deployment(部署)窗口。
- 在 Project(项目)窗口中选择模块引用文件。
- 在 Deployment(部署)窗口中,单击 Deploy Selected(部署所选项)。
从游戏调用模块函数
要确认部署成功,可以从游戏客户端调用模块终端。生成的模块包含一个名为SayHelloSDK 设置
要从游戏调用模块函数,首先需要在游戏客户端中设置 Cloud Code SDK。- 确保在 Unity Cloud Dashboard 中通过 Cloud Code 页面启用该服务。
- 确保 Cloud Code SDK 和 Authentication SDK 均已从 Unity 的 Package Manager(包管理器)进行安装。
- 在 Unity 编辑器中创建新的 C# Monobehaviour 脚本。如需了解更多信息,请参阅 Unity 手册中的创建和使用脚本。
调用模块函数
以下示例说明了如何从游戏客户端中的模块HelloWorldSayHellousing Unity.Services.Authentication;using Unity.Services.CloudCode;using Unity.Services.CloudCode.GeneratedBindings;using Unity.Services.Core;using UnityEngine;public class TestModule : MonoBehaviour{ private async void Start() { // Initialize the Unity Services Core SDK await UnityServices.InitializeAsync(); // Authenticate by logging into an anonymous account await AuthenticationService.Instance.SignInAnonymouslyAsync(); try { // Call the function within the module and provide the parameters we defined in there var module = new HelloWorldBindings(CloudCodeService.Instance); var result = await module.SayHello("World"); Debug.Log(result); } catch (CloudCodeException exception) { Debug.LogException(exception); } }}
后续步骤
了解部署第一个模块后的后续步骤。主题 | 描述 |
|---|---|
| 模块结构 | 熟悉模块结构。 |
| 与其他 Unity 服务集成 | 将模块与其他 Unity Gaming Services(Unity 游戏服务)集成。 |
| 与外部服务集成 | 将模块与外部服务集成。 |
| 编写单元测试 | 为模块编写单元测试。 |