Skip to main content
Reown Docs

Upgrade from Web3Modal to Reown AppKit on Unity

2 min read

This document outlines the steps to migrate from the old com.walletconnect packages to the new com.reown package in your Unity project.

Step 1. Replace the corresponding dependency in your manifest.json#

{6-7, 17-18}

Alternatively, you can use the OpenUPM CLI:

If the com.walletconnect.web3modal package was installed manually via the Package Manager window or directly from the GitHub repository, remove all com.walletconnect packages and replace them with the com.reown packages. You can find the list of all necessary packages in the Installation Documentation under Package Manager with OpenUPM tab.

Step 2. Update your AppKit config#

The com.walletconnect.web3modal package used two configuration objects: WalletConnectProjectConfig scriptable object and optional Web3ModalConfig class.

The Reown AppKit combines these two configurations into a single AppKitConfig class that can be passed into AppKit initialization method.

  1. Delete WalletConnectProjectConfig scriptable object
  2. Initialize AppKit from your script

Step 3. Update references to the namespaces#

The modern IDE such as Rider or Visual Studio should be able to automatically update the namespaces for you. If not, you can manually update the namespaces as follows:

<Table> — not implemented in this renderer

Note that some objects from WalletConnectUnity.Core were moved into Reown.AppKit.Unity namespace, therefore we recommend to rely on the IDE to automatically update the namespaces.

Step 4. Update references to the classes#

Change Web3Modal to AppKit in your codebase. For example:

{4-5, 10-11}

Step 5. Rename USS variables#

If you customized any AppKit USS variables, simply change --wui part of the variable name to --ro. For example:

Final notes#

  • Ensure that you have updated all relevant configurations and imports in your project to reflect the changes from Web3Modal to AppKit.
  • Test your application thoroughly to ensure that the migration has been successful and that all functionality is working as expected.