Integrate your game with Algorand, a Pure Proof-of-Stake blockchain overseen by the Algorand Foundation. Create and sign Algorand transactions, use Algorand's REST APIs, and connect to any Algorand wallet supporting WalletConnect.
This package supports the following build targets and Unity versions:
Unity Version | Windows | Mac OS | Linux | Android | iOS | WebGL |
---|---|---|---|---|---|---|
2020.3 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
2021.3 | ✅ | ✅ | ✅ | ✅ | ✅ | ✴️ |
2022.2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✴️ |
- ✅ All APIs are supported.
- ✴️
Algorand.Unity.Net
is not supported. This assembly is used to enable cross-compatibility between the .NET SDK and the Unity SDK. - ❌ Not supported. Use at your own risk.
using Algorand.Unity;
var sender = "<your sender address>";
var receiver = "<your receiver address>";
var algod = new AlgodClient("https://node.testnet.algoexplorerapi.io");
var suggestedTxnParams = await algod.GetSuggestedParams();
var microAlgosToSend = 1_000_000L;
var paymentTxn = Transaction.Payment(sender, suggestedTxnParams, receiver, microAlgosToSend);
var account = Account.GenerateAccount();
var signedTxn = account.SignTxn(paymentTxn);
var kmd = new KmdClient("<host of kmd>");
var walletToken = await kmd.InitWalletHandleToken("<your wallet id>", "<your wallet password>");
var signedTxn = await kmd.SignTransaction(paymentTxn.Sender, paymentTxn.ToSignatureMessage(), walletToken, "<your kmd wallet password>");
using Algorand.Unity.WalletConnect;
SavedSession savedSession = [...];
var session = new AlgorandWalletConnectSession(savedSession);
var walletTransaction = WalletTransaction.New(paymentTxn);
var signedTxns = await session.SignTransactions(new[] { walletTransaction });
var signedTxn = signedTxns[0];
await algod.SendTransaction(signedTxn);
using Algorand.Unity;
using Algorand.Unity.WalletConnect;
using UnityEngine;
var dappMeta = new ClientMeta
{
Name = "<name of your dapp>",
Description = "<description of your dapp>",
Url = "<url of your dapp>",
IconUrls = new[]
{
"<icon1 of your dapp>", "<icon2 of your dapp>"
}
};
var session = new AlgorandWalletConnectSession(dappMeta);
var handshake = await session.StartConnection();
Texture2D qrCode = handshake.ToQrCodeTexture();
The easiest way to install is to use Open UPM as it manages your scopes automatically. You can install Open UPM here. Then use the Open UPM CLI at the root of your Unity project to install.
> cd <your unity project>
> openupm add com.careboo.unity-algorand-sdk
If you don't want to use Open UPM, it's straightforward to manually add the UPM registry scopes required for this package. See Unity's official documentation on Scoped Registries.
Algorand SDK for Unity is now available!
Read Getting Started to learn the basic workflows for developing on Algorand.
Docs for this version were generated at https://careboo.github.io/unity-algorand-sdk/4.1.
Some of the samples are built on WebGL and hosted on GitHub Pages.