Unity SDK
ReownWallet
ReownWallet
replaces the legacy WalletConnect integration. It wraps the official Reown AppKit to surface 400+ wallets inside your Unity project.
Prerequisites
- Install the Reown AppKit Unity package (via UPM Git URL
https://github.com/reown-com/appkit-unity.git
). - Add the "Reown AppKit" prefab to your scene.
- Define the scripting symbol
THIRDWEB_REOWN
(Project Settings → Player → Other Settings → Scripting Define Symbols).
Without the define symbol you'll hit a NotSupportedException
with guidance to enable Reown support.
- Add Reown prefab – drag the
Reown AppKit
prefab fromPackages/Reown.AppKit.Unity/Prefabs
into your scene. - Plan your connect call – you choose the chain and branding when you construct
WalletOptions
andReownOptions
before callingConnectWallet
. - Set the script define – add
THIRDWEB_REOWN
to every build target that will use Reown. - Provide metadata – Reown needs a WalletConnect projectId plus branding details (name, description, URL, icon) in the options you pass at runtime.
If the prefab is missing, the SDK logs an error at runtime telling you to either remove the define or add the prefab.
The connection flow will:
- Initialize Reown AppKit (once per session) with your metadata.
- Attempt to resume a previous session before showing the modal.
- Open the Reown modal for up to 120 seconds if no session is found.
- Ensure the connected chain matches
walletOptions.ChainId
.
If the selected chain is not part of Reown's built-in list, the SDK automatically injects the chain metadata using Thirdweb's chain APIs and logs a warning so you know it was added on the fly.
ReownWallet.Create
accepts the following arguments:
Limitations: Reown currently doesn't support raw
eth_sign
, account linking, or EIP-7702 authorizations. The SDK throws descriptive exceptions if you call those APIs.
- "Reown AppKit not found" – add the prefab or remove
THIRDWEB_REOWN
if you don't need Reown. - NotSupportedException on connect – ensure the define symbol is added for the active build target.
- Connection timed out – the modal stays open for 120 seconds; confirm the wallet scanned the QR code or resumed the session.