Unity SDK
将 Aptos Web3 功能集成到 Unity 应用中。此 SDK 的目标是为开发者提供一组工具,以使用 Unity 游戏引擎构建 Web3 游戏。
支持的功能
-
- Binary Canonical Serialization (BCS) 编码和解码
- Ed25519、SingleKey、MultiKey 和 Keyless 签名者支持
- 用于构建、签署和提交交易的实用工具
- 对 Aptos Fullnode 和 Indexer API 的抽象
- 支持解析和查询 Aptos Names (ANS)
兼容性
| .NET 版本 | 支持 |
|---|---|
| .NET Standard 2.1 | ✅ |
通过 Unity Package Manager(UPM)安装
Section titled “通过 Unity Package Manager(UPM)安装”- 打开 Unity Package Manager(Window > Package Manager)。
- 点击 + 按钮,然后选择 Add package from git URL…。
- 输入此仓库中 Aptos Unity SDK 路径的 URL:
https://github.com/aptos-labs/unity-sdk.git?path=/Packages/com.aptoslabs.aptos-unity-sdk通过 unitypackage 安装
Section titled “通过 unitypackage 安装”- 前往 aptos-labs/unity-sdk Releases,下载最新版本。
- 将 .unitypackage 文件拖放到 Unity 项目中。
添加 Aptos 命名空间并实例化 AptosUnityClient,以设置 Aptos 客户端。可以使用 Networks 中的预定义配置,也可以自行配置。
using UnityEngine;using Aptos;
class Example : MonoBehaviour{ public void Start() { PrintLedgerInfo(); }
async void PrintLedgerInfo() { var client = new AptosUnityClient(Networks.Mainnet); var ledgerInfo = await client.Block.GetLedgerInfo(); Debug.Log(ledgerInfo.BlockHeight); }
}要与区块链交互,需要创建签名者并构建交易。
using UnityEngine;using Aptos;
class Example : MonoBehaviour{ public async void Start() { var client = new AptosUnityClient(Networks.Mainnet);
// 1. Create a signer var signer = Account.Generate();
// 2. Build the transaction var transaction = await client.Transaction.Build( sender: account, data: new GenerateEntryFunctionPayloadData( function: "0x1::aptos_account::transfer_coins", typeArguments: ["0x1::aptos_coin::AptosCoin"], functionArguments: [account.Address, "100000"] ) );
// 3. Sign and submit the transaction var pendingTransaction = client.Transaction.SignAndSubmitTransaction(account, transaction);
// 4. (Optional) Wait for the transaction to be committed var committedTransaction = await client.Transaction.WaitForTransaction(pendingTransaction); }} Aptos Wallet Starter 集成 Aptos Unity SDK 的 Unity 项目示例。