Saltearse al contenido

SDK de Unity

Integra capacidades Web3 de Aptos dentro de tus aplicaciones Unity. El objetivo de este SDK es proporcionar un conjunto de herramientas para que los desarrolladores construyan juegos Web3 usando el motor de juegos Unity.

Características Soportadas

  • Soporte para el SDK de .NET de Aptos

    • Codificación y decodificación de Serialización Canónica Binaria (BCS)
    • Soporte para firmantes Ed25519, SingleKey, MultiKey y Keyless
    • Utilidades para construcción, firma y envío de transacciones
    • Abstracciones sobre las APIs del Nodo Completo e Indexador de Aptos
    • Soporte para Nombres de Aptos (ANS) para resolución y búsqueda

Compatibilidad

Versión .NETSoportada
.NET Standard 2.1
  1. Abre el Unity Package Manager (Window > Package Manager).
  2. Haz clic en el botón + y selecciona Add package from git URL....
  3. Ingresa la URL del SDK de Unity de Aptos en este repositorio:
Ventana de terminal
https://github.com/aptos-labs/unity-sdk.git?path=/Packages/com.aptoslabs.aptos-unity-sdk
  1. Ve a los Releases de aptos-labs/unity-sdk y descarga el último release.
  2. Arrastra y suelta el archivo .unitypackage en tu proyecto Unity.

Configura tu cliente de Aptos agregando el namespace Aptos e instanciando un AptosUnityClient. Puedes usar una configuración predefinida de Networks o configurar la tuya propia.

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);
}
}

Para interactuar con la blockchain, necesitarás crear un firmante y construir una transacción.

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);
}
}