Skip to main content
With AppKit, you can easily let people interact with multiple EVM and Solana compatible wallets and blockchains directly from your Unity game.

Install

Let’s get started by installing the AppKit package!

Prerequisites

  • Unity 2022.3 or above
  • IL2CPP code stripping level: Minimal (or lower)
  • Target platform: Android, iOS, Windows, macOS, WebGL
  • Gamma color space

AppKit Package

  • OpenUPM CLI
  • Package Manager with OpenUPM
To install AppKit package via OpenUPM, you need to have Node.js and openupm-cli installed. Once you have them installed, you can run the following commands:
openupm add com.reown.appkit.unity

Configure

The minimum configuration required is filling in a Project ID and Metadata fields inside of AppKitConfig.
Don’t have a project ID?Head over to Reown Dashboard and create a new project now!

Get started

await AppKit.InitializeAsync(
    new AppKitConfig(
        projectId: "YOUR PROJECT ID",
        new Metadata(
            name: "My Game",
            description: "Short description
            url: "https://example.com",
            iconUrl: "https://example.com/logo.png"
        )
    )
);
  • projectId: The project ID is a unique identifier for your project.
    • If you don’t have a Project ID, you can create one at Reown Dashboard.).
  • name: The project name is a human-readable name for your project.
  • description: The project description is a human-readable description for your project.
  • url: The project URL
  • iconUrl: Icon of the project.

Implement

  1. Add Reown AppKit prefab from Packages/Reown.AppKit.Unity/Prefabs to your scene.
  2. Initialize AppKit from your script
public async void Start()
{
    var config = new AppKitConfig(...);
    await AppKit.InitializeAsync(config);
}
  1. Connect account
public async Task ResumeSession()
{
    // Try to resume account connection from the last session
    var resumed = await AppKit.ConnectorController.TryResumeSessionAsync();

    if (resumed)
    {
        // Continue to the game
        MyAccountConnectedHandler();
    }
    else
    {
        // Connect account
        AppKit.AccountConnected += (_, e) => MyAccountConnectedHandler();
        AppKit.OpenModal();
    }
}
Optional: Using Solana Unity SDK? You can keep using Solana.Unity.SDK’s Web3 and route all signing through AppKit with our adapter. See the adapter section in Usage.

Examples and Test dApps

Getting Support 🙋

Reown is committed to delivering the best developer experience. If you have any questions, feature requests, or bug reports, feel free to open an issue on GitHub!
I