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.
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!