For Unity Apps
Overview
The Ramper Unity SDK is a no-code integration solution for Unity projects to have embedded Web3 wallet and dapp-to-wallet signatures signing within their app, allowing their users to instantly own a self-custodial wallet just by signing in with Email or SSO (Gmail, Facebook, Twitter, Apple ID, Telegram). Onboarding Web2 users to onchain games has been never this easy!
Supported platform
Android
iOS
Installation
Download and Import: Download the unity-ramper-latest.unitypackage and import it into your Unity project.
Setup
After installation, you need to configure the SDK settings.
1. Open the Settings Asset:
Go to the Unity top menu and select Ninety Eight > Ramper SDK Setting.
2. Configure the Settings:
App ID: Enter the appId provided by Ramper.
Game Slug (Optional for Games not connected to Ninety Eight game server): Enter the gameSlug provided by Ninety Eight.
Is Debug: Toggle this option to enable or disable debug logs.
Demo Wallet: For testing in the Unity editor, enter a fixed wallet address to simulate wallet interactions. These settings ensure that your SDK is properly configured for use within your Unity project.
Usage
Connecting to a Wallet
Basic login method
Use the Login method to connect to a Web3 wallet. This method opens a web view for the user to authenticate their wallet.
Parameters
message: The message to sign with the wallet. An empty string is acceptable.
C98SDK.Ins.Login(message, dataCallback =>
{
if (connectCallback.success)
{
Debug.Log("Successfully connected: " + connectCallback.data.wallets.ethereum.publicKey);
}
else
{
Debug.LogError("Failed to connect. error: " + connectCallback.error);
}
});
Login direct with Provider
LoginDirect is a function that supports custom social login buttons in your app.
Parameters
provider: The provider directs to the login method for Ramper.
message: The message to sign with the wallet. An empty string is acceptable.
C98SDK.Ins.LoginDirect("google", message, dataCallback =>
{
if (connectCallback.success)
{
Debug.Log("Successfully connected: " + connectCallback.data.wallets.ethereum.publicKey);
}
else
{
Debug.LogError("Failed to connect. error: " + connectCallback.error);
}
});
We support the most popular providers: Google, Apple, Facebook, Telegram and Email.
Signing a Message
The SignMessage method allows you to sign messages, which is essential for authentication and transaction verification in Web3 applications.
C98SDK.Ins.SignMessage("Your message here", (signMessageCallback) =>
{
if (signMessageCallback.success)
{
Debug.Log("Message signed: " + signMessageCallback.signature);
}
else
{
Debug.LogError("Failed to sign message.");
}
});
Signing a Transaction
You can sign transactions using the SignTransaction method. This is critical for executing actions on the blockchain.
C98SDK.Ins.SignTransaction(transactionData, (signTransactionCallback) =>
{
if (signTransactionCallback.success)
{
Debug.Log("Transaction signed: " + signTransactionCallback.transactionHash);
}
else
{
Debug.LogError("Failed to sign transaction.");
}
});
Dependencies
Unity: Version 2020.3 or higher.
WebView: The SDK leverages a web view for user authentication.
Last updated