云代码

云代码是一种无服务器计算服务,允许您在云中编写和运行代码。您可以使用 Unity 的云代码在完全托管的基础架构上编写无状态服务器端代码。云代码是一种完全托管的服务,可自动扩展以满足您的流量需求。您可以专注于游戏逻辑的开发,并将其与客户端隔离以防止作弊。

云代码与其他 Unity 服务完全兼容,例如 远程配置云存档经济排行榜

将云代码与其他 Unity 服务结合使用,创建完整的游戏后端,并部署游戏内经济玩家数据存储动态设置配置等解决方案,同时确保您的游戏逻辑安全。

Cloud Code C# modules cannot use classes from the UnityEngine namespace or anything else in the Unity's scripting API. This is because Cloud Code uses the open-source .NET runtime. This is separate from the Unity runtime and does not rely on any of its scripting backends.

使用云代码的解决方案

问题解决方案
您需要将代码部署到实时游戏中,而无需推出客户端更新,因为这需要玩家更新他们的安装。使用云代码更新您的游戏逻辑,而无需玩家进行更新。
您希望确保恶意玩家无法更改客户端代码、更改其状态或作弊。您可能还希望防止玩家对您的游戏逻辑进行逆向工程。使用云代码以确保您的游戏逻辑在安全的沙盒中运行,并与客户端分离。
您希望使用多个在线服务,但不希望游戏感觉迟钝,并且希望在与更多服务器端组件集成时易于在游戏客户端上编写。利用云代码与其他 Unity 服务集成,并编写关联多个组件的代码。
您需要管理基础架构以运行您的游戏逻辑,并对其进行扩展以满足您的流量需求。使用云代码在完全托管的基础架构上编写无状态服务器端代码。
您不希望在游戏没有流量时为未使用的资源付费。使用云代码以确保您只为使用的资源付费。
您需要一个解决方案来编写关联多个组件的代码,而无需担心身份验证或兼容性。使用云代码编写与其他 Unity 服务集成的代码,并内置兼容性。

云代码示例

以下教程展示了如何将云代码触发器与其他 UGS 产品结合使用以实现特定结果。

Note: For more advanced sample projects, you can refer to the UGS use cases sample project.

教程服务
在赛季结束时用游戏内货币奖励排名靠前的玩家排行榜
经济
使用默认配置值初始化新注册的玩家身份验证
云存档
向分数被超越的玩家发送推送消息排行榜
向加入大厅的所有玩家宣布升级云存档
大厅
针对单个玩家调整游戏难度级别云存档
排行榜
身份验证

将云代码与模块和脚本结合使用

要从游戏中调用云代码,您可以使用集成的 Unity SDK,如果需要在 Unity 编辑器之外工作,则可以使用云代码客户端 API。

云代码支持两种类型的代码:云代码 C# 模块和云代码 JavaScript 脚本。

要选择适合您需求的方法,请查看以下概述。

云代码 C# 模块云代码 JavaScript 脚本
运行时.NET 9Node.js 14
语言C#JavaScript
部署编辑器命令行管理 API编辑器控制面板命令行管理 API
运行SDK运行时 APISDK运行时 API
外部库支持NuGet 包管理器公共互联网端点公共互联网端点.

Cloud Code C# modules cannot use classes from the UnityEngine namespace or anything else in the Unity's scripting API. This is because Cloud Code uses the open-source .NET runtime. This is separate from the Unity runtime and does not rely on any of its scripting backends.

云代码接口

有多种方法可以使用云代码集成和管理您的应用程序

接口支持描述用法
云代码 SDK脚本和模块。用于将 Unity 项目与云代码集成的软件开发工具包 (SDK)。使用 SDK 从 Unity 运行时调用模块端点调用脚本
Unity 云控制面板脚本和有限的模块支持。基于 Web 的界面,用于管理云代码配置和设置。创建、预览和测试运行脚本以及预览模块
Unity 游戏服务命令行界面脚本和模块。用于管理云代码配置和设置的命令行界面。将云代码集成到 CI/CD 中,并使用基于文件的 workflow 进行迭代,以将云代码与其他 Unity 服务一起部署。
云代码管理 API脚本和模块。用于管理云代码脚本和模块的 REST API。使用 REST API 创建、读取、更新和删除云代码脚本和模块。
云代码客户端 API脚本和模块。用于调用云代码脚本和模块端点的 REST API。通过 API 调用调用云代码脚本和模块,并与 Unity 编辑器之外的产品集成。
部署脚本和模块。Unity 编辑器和 UGS CLI 的扩展。使用部署可以通过文件而不是 Unity 云控制面板配置云代码。将这些文件包含为版本控制的一部分,并最大限度地减少与 Unity 云控制面板的上下文切换。

要了解如何部署和运行代码,请按照“后续步骤”部分中的某个选项操作。

后续步骤

云代码 C# 模块

使用类型安全的编程语言和强大的 .NET 组件编写服务器端代码。通过 NuGet 等工具将动态链接库 (DLL) 与项目捆绑在一起,以使用项目中需要的其他内容。

开始使用云代码 C# 模块。

云代码 JavaScript 脚本

使用易于迭代的语言编写服务器端代码。如果您有 JavaScript 前端背景,则可以利用相同的生态系统。云代码命令行开箱即用地支持 CommonJS 和 ECMAScript 模块系统,您可以通过它们将代码与可重用部分捆绑在一起。

开始使用云代码 JavaScript 脚本。