Overview Unity
The Openfort Unity SDK is a Unity library client for Openfort that allows you to add secure authentication, non-custodial embedded wallets, and powerful UX infrastructure into your game.
Get started
Check out these popular guides to get started.
Setting up the SDK
Setting up the SDK
Project setup & import
Setting up and importing a project
WebGL
WebGL
Web deployment
Using embedded wallets with WebGL
Embedded Wallet
Embedded Wallet
Wallet creation & recovery
Create an embedded wallet
Templates
Check out these popular samples to get started.
Unity Sample
Unity Sample
Complete example project
Check our latest Unity sample
SDK Reference
The Unity SDK provides the following main components:
OpenfortSDK Class
The OpenfortSDK class is the main entry point for interacting with the SDK.
| Method | Description |
|---|---|
Init(publishableKey, ...) | Initialize the SDK singleton |
OnAuthEvent | Event for authentication state changes |
Authentication Methods
| Method | Description |
|---|---|
SignUpGuest() | Sign up as guest user |
LogInWithEmailPassword() | Log in with email and password |
SignUpWithEmailPassword() | Sign up with email and password |
RequestEmailOtp() | Request OTP to email |
LogInWithEmailOtp() | Log in with email OTP |
VerifyEmailOtp() | Verify email using OTP |
RequestPhoneOtp() | Request OTP to phone |
LogInWithPhoneOtp() | Log in with phone OTP |
LinkPhoneOtp() | Link phone number with OTP |
AddEmail() | Add email to account |
InitOAuth() | Initialize OAuth flow |
InitLinkOAuth() | Initialize OAuth linking |
UnlinkOAuth() | Unlink OAuth provider |
InitSiwe() | Initialize SIWE authentication |
LoginWithSiwe() | Log in with SIWE |
InitLinkSiwe() | Initialize SIWE linking |
LinkWithSiwe() | Link wallet with SIWE |
UnlinkWallet() | Unlink wallet from account |
LogInWithIdToken() | Log in with external ID token |
RequestResetPassword() | Request password reset |
ResetPassword() | Reset password with token |
RequestEmailVerification() | Request email verification |
VerifyEmail() | Verify email with token |
Session Management
| Method | Description |
|---|---|
GetUser() | Get current user info |
Logout() | Log out and remove credentials |
GetAccessToken() | Get saved access token |
ValidateAndRefreshToken() | Validate and refresh token |
StoreCredentials() | Store authentication credentials |
Embedded Wallet Methods
| Method | Description |
|---|---|
GetEmbeddedState() | Get embedded wallet state |
GetEthereumProvider() | Get Ethereum provider interface |
CreateEmbeddedWallet() | Create new embedded wallet |
RecoverEmbeddedWallet() | Recover embedded wallet |
GetEmbeddedWallet() | Get current embedded wallet |
ListWallets() | List all wallets |
ConfigureEmbeddedWallet() | Configure embedded wallet |
Transaction/Signing Methods
| Method | Description |
|---|---|
SendSignatureTransactionIntentRequest() | Sign and send transaction intent |
SignMessage() | Sign a message (EIP-191) |
SignTypedData() | Sign typed data (EIP-712) |
Enums
| Enum | Values |
|---|---|
EmbeddedState | NONE, UNAUTHENTICATED, EMBEDDED_SIGNER_NOT_CONFIGURED, CREATING_ACCOUNT, READY |
OAuthProvider | GOOGLE, TWITTER, APPLE, FACEBOOK, DISCORD, EPIC_GAMES, LINE |
ChainType | EVM, SVM |
AccountType | EOA, SMART_ACCOUNT, DELEGATED_ACCOUNT |
RecoveryMethod | PASSWORD, AUTOMATIC, PASSKEY |
Error Handling
| Type | Description |
|---|---|
OpenfortException | Base exception class for SDK errors |
OpenfortErrorType | Error type enum (INITIALIZATION_ERROR, AUTHENTICATION_ERROR, etc.) |
For detailed usage examples, see the individual method documentation pages.