Who is this for? Game developers using Unity who want to integrate web3 features, NFTs, and blockchain functionality into their games.
Platform Compatibility
| Unity Version | Windows | macOS | Android | iOS |
|---|---|---|---|---|
| Unity 6 | ✅ Full support | ✅ Full support | ✅ Full support | ✅ Full support |
| 2021.3 LTS+ | ✅ Full support | ✅ Full support | ✅ Full support | ✅ Full support |
Prerequisites
- Unity: 2021.3 LTS or later
- .NET Standard: 2.1
- UniTask: The UniTask package (v2.3.3) is a required dependency of our SDK. Follow the instructions here to install it.
- Git LFS: The SDK repository uses Git Large File Storage to manage
.dllfiles and other binary assets. Install Git LFS before cloning or Unity Package Manager may fail to download binary dependencies correctly.
Packages
The SDK provides the following components:| Package | Purpose | Prerequisites |
|---|---|---|
| Passport | Authentication and wallet operations | - |
| ZkEvmApi | REST API for zkEVM (list NFTs, orders, and more) | - |
See the Installation section below for setup instructions.
Installation
- Install UniTask v2.3.3 or later The UniTask package is a dependency of our SDK.
- Install Git LFS
- Add the Immutable SDK:
- Package Manager
- manifest.json
- Open Window → Package Manager
- Click + and select Add package from git URL…
- Enter
https://github.com/immutable/unity-immutable-sdk.git?path=/src/Packages/Passportand 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:
Unity 6 Configuration
- Go to Project Settings → Player → Android → Other Settings → Configuration
- Set Application Entry Point to
Activity(notGameActivity) - Open
AndroidManifest.xmland remove theUnityPlayerGameActivityactivity block; keep only theUnityPlayerActivityblock
Platform-Specific Configuration
- Windows
- macOS
- Android
- iOS
Platform Requirements
- Windows: 10 or later
Scripting Backend Support
| Backend | Support | Notes |
|---|---|---|
| Mono | ✅ Fully supported | Uses default Unity Web Browser (UWB) |
| IL2CPP | ⚠️ Requires custom WebView | See Advanced Configuration for Vuplex setup |
Default WebView Setup
The SDK uses Unity Web Browser (UWB) by default on Windows. UWB is not bundled with the SDK, so you must install it.- Add the VoltUPR registry and required scopes, then install UWB via the Package Manager. See the UWB GitHub repo and VoltUPR setup guide.
- Import these packages:
dev.voltstro.unitywebbrowserdev.voltstro.unitywebbrowser.engine.cefdev.voltstro.unitywebbrowser.engine.cef.win.x64
- Confirm UWB_WEBVIEW is present in your project after the packages are installed.
For IL2CPP builds, use a custom WebView like Vuplex. See Advanced Configuration.
Deep Link Configuration
The SDK handles deep links automatically. Ensure your redirect URIs match your configured URL scheme.Your redirect URIs (like
mygame://callback) must use the same URL scheme that you configure in your platform settings:- iOS: Only the scheme needs to match (e.g.,
mygameinmygame://callback) - Android: Both the scheme AND host must match (e.g.,
mygameandcallbackinmygame://callback)
Next Steps
Getting Started
Configure Your Project
Set up credentials and OAuth client in Immutable Hub
Authentication
Initialize Passport and implement login
Wallet Operations
Access wallet addresses and balances
Game Bridge Architecture
Understand SDK internals and custom engine integration