LYNC AA SDK is a no-code Unity SDK allowing game developers, Game studios, Indie Game Developers, and more to Integrate Biconomy Account Abstraction inside their games without worrying about Web3 Complexities. Supported Platforms: PC (MacOS and Windows) and Mobile (Android and iOS).
Download the SDK: https://github.com/LYNC-WORLD/LYNC-Unity-AA/releases/
Please get your API key before downloading the SDK from here
Import the SDK .unitypackage file to your project. or simply drag and drop .unitypackage file to your project.
Once the Account Abstraction SDK package has finished importing into your Unity project, you can begin integrating it into your game. The Folder structure looks like this
There are 2 Example Projects present in the SDK: Assets -> LYNC-AA-SDK -> Example / Example-2
You can find the example scene in the folders. Simply pass the API key in lyncManager GameObject. To test, Build and Run after adding this scene in (Scene in Build).
To use LYNC Manager Prefab, it needs to be attached to the first scene. This will serve as the starting point for your project. In LYNC Manager Prefab, be sure to provide the following details:
- LYNC API Key (The API Key can be generated from here)
- Choose chain
- Pass in the Dapp API Key (The API key can be generated from the Biconomy Dashboard)
- Web3 Auth Client ID (The API key can be generated from the Web3 Auth Dashboard)
- Pass a deep link name (example: lync/gameName etc.)
Login and Transactions can be done once the action is triggered. The Sample Code for Login can be found at LoginTransactionExample.cs and ExampleLogin.cs
using LYNC;
using LYNC.Wallet;
LYNC ready Should be a function which has an argument of type "LyncManager"
LyncManager.onLyncReady += LyncReady;
private void LyncReady(LyncManager Lync)
{
// Once LYNC is ready, you can do any steps like Login, Logout, Transactions etc.
}
Lync.WalletAuth.ConnectWallet((wallet) =>
{
addressTxt.text = "Wallet Address: " + wallet.publicAddress;
loginDateTxt.text = "Login Date: " + wallet.loginDate.ToString();
});
To Logout:
Lync.WalletAuth.Logout();
To do transactions, TokenExample.cs and LoginTransactionExample.cs can be taken as a reference.
Pass in the Contract Address and Function Name Example: MintNFT(). MintNFT(unit256 id, unit256 amount)
Args are not compulsory parameters, but if the function accepts any argument, make sure to pass them.
To do it from the script:
LyncManager.Instance.blockchainMiddleware.SendTransaction(contractAddress, functionName, args, onSuccess,onError);
onSuccess: Once the transactions are completed, this handles what to do. onError: If the transactions failed, this handles what to do.
To enable gasless transactions via biconomy, Register a new paymaster with version 1.0.1 on the Biconomy Dashboardhttps://dashboard.biconomy.io/.
Once done, Get the API Key and Pass it into the LYNC Manager.
Setup the gas tank, in Policies create a new one and pass the contract address
That's it, now you can do the gasless transaction on this contract address passing in the LYNC AA SDK.