Skip to main content
Native C# bindings for Passport authentication, wallet operations, and blockchain data queries.

Requirements

  • Unity 2021.3 LTS or later
  • .NET Standard 2.1
  • Supported platforms: Windows, macOS, iOS, Android
    • macOS: 12.5 or later
    • Android: 10 or later
    • iOS: 15.2 or later

Packages

Immutable.Passport is required. Other packages are optional. Use the same install method with the path for each package.
PackagePurposePrerequisites
PassportAuthentication and wallet operations-
Orderbook (Alpha)In-game orderbook: create, fill, cancel ordersRequires Passport package
ZkEvmApiREST API for zkEVM (list NFTs, orders, and more)-
MarketplaceWallet funding: on-ramp, swap, bridge URLsRequires Passport package
Installation steps are the same for all packages: add from git URL (or manifest.json) using the package path below. See Installation for the Passport flow; other packages use the same steps with a different path.

Installation

  1. Install UniTask v2.3.3 or later The UniTask package is a dependency of our SDK.
  2. Install Git LFS
    Git LFS must be installed before adding the SDK. The SDK contains .dll files stored in Git LFS that won’t download correctly otherwise.
  3. Add the Immutable SDK:
  1. Open WindowPackage Manager
  2. Click + and select Add package from git URL…
  3. Enter https://github.com/immutable/unity-immutable-sdk.git?path=/src/Packages/Passport and click Add

Install a Specific Version

To install a specific version of the SDK using either method above, append # followed by the version tag to the git URL:
https://github.com/immutable/unity-immutable-sdk.git?path=/src/Packages/Passport#v1.0.0
For platform-specific setup (iOS, Android, Windows), see Platform Setup. To add Orderbook, Marketplace, or Api.ZkEvm, use the same steps (Package Manager or manifest.json) with this base URL and path:
PackageGit path
Passport?path=/src/Packages/Passport
Orderbook?path=/src/Packages/Orderbook
ZkEvmApi?path=/src/Packages/ZkEvmApi
Marketplace?path=/src/Packages/Marketplace
Base URL: https://github.com/immutable/unity-immutable-sdk.git

Quick Start

using Immutable.Passport;

public class GameManager : MonoBehaviour
{
    private Passport passport;

    async void Start()
    {
        passport = await Passport.Init(
            clientId: "YOUR_CLIENT_ID",
            environment: Immutable.Passport.Model.Environment.SANDBOX,
            redirectUri: "mygame://callback",
            logoutRedirectUri: "mygame://logout"
        );
    }

    public async void Login()
    {
        await passport.Login();
    }

    public async void GetWalletAddress()
    {
        // Initialize the provider, then request accounts
        await passport.ConnectEvm();
        string[] accounts = await passport.ZkEvmRequestAccounts();
        string address = accounts[0];
        Debug.Log($"Wallet address: {address}");
    }

    public async void Logout()
    {
        await passport.Logout();
    }
}

Sample Project

The SDK includes samples demonstrating:
  • Login/logout flow
  • Sending transactions
  • Marketplace integration - wallet funding (onramp, swap, bridge)
Import from Package ManagerImmutable SDKSamples.

Resources