Skip to content

Releases: thirdweb-dev/unity

v4.0.1

02 Nov 23:08
e4cb157
Compare
Choose a tag to compare

What's Changed

All about smart wallets! Create session keys, add and remove admins - enable endless upgrading and signless possibilities for ALL types of EOAs.

  • [Native] Exposed sdk.wallet.CreateSessionKey - you are now able to easily grant another wallet access to your smart account, with many restrictions possible.
  • [Native] Exposed sdk.wallet.AddAdmin - you can now add new admins to your smart wallet.
  • [Native] Exposed sdk.wallet.RemoveAdmin - you can now remove admins from your smart wallet.
  • [Native] You can now pass smartWalletAccountOverride optional parameter to sdk.wallet.Connect to connect to a Smart Wallet you are not necessarily the admin signer of.
  • [Native] Fixed a bug where asking for a signature would get the smart wallet stuck in force deployment mode.

What this means

This may be a small patch, but it unlocks quite literally endless possibilities.

Example Scenarios

  • Connect a user to a smart wallet using their Metamask wallet as EOA. Create a session key for a signless wallet like LocalWallet, EmbeddedWallet or your backend wallet - the user now only has to sign once to perform that transaction, and you can connect the new signer to the user's Smart Wallet to interact with contracts on their behalf.
  • Connect a user to a smart wallet using a guest wallet as EOA, not asking for commitment from the get go - such as a LocalWallet or EmbeddedWallet EOA. You can then go through an upgrade path where the user can claim the generated smart account with all its assets. Simply add the Metamask account as that smart wallet's admin!
  • You might've heard of thirdweb Engine, and you want to execute your transactions using it. Simply create a session key for your backend wallet to execute transactions on your user's behalf. The built in scoping as well as your server acting as a middleman, makes for a great flow!

v4.0.0

27 Oct 00:46
4a2d325
Compare
Choose a tag to compare

It's finally here!

Embrace the modularity of Embedded Wallets as we begin this journey in bringing you the best wallet UX you've seen in Web3 Gaming.
Pair them with Smart Wallets to enhance user experiences with signless and gasless experiences, retaining assets across multiple apps.

What's Changed

  • Embedded Wallets - WebGL, Standalone, Android and iOS support
    • Email - Login with your email using a one-time password. Automatically login if you weren't signed out previously.
    • Google - Login flow through browser on standalone platforms, in app for other platforms.
    • Custom Auth - Bring your own auth, currently supports OIDC compatible methods.
    • Cross-platform/device compatibility - Ensures you get the same final wallet address no matter where you login from.
  • Added WalletProvider_EmbeddedWallet UI prefab and related script.
  • Removed Magic login option and related code/prefabs/sprites.
    • Also removed WebView package and related scripts/plugins.
  • Removed Paper login option and related code/prefabs/sprites.
  • Added AuthOptions to Wallet Connection API.
  • Added ThirdwebConfig to configure mobile custom schemes for deeplinking purposes through the ThirdwebManager.
  • Added Thirdweb.Browser collection of native browser integrations.
  • Added post-gradle generation script for Android platforms.
  • Various improvements and bugfixes.

NB: Login with Email feature in WebGL will automatically be unlocked by end of October, no SDK update required.

This is a major update, you must remove previous SDK folders and reimport for the best upgrade experience.

Additional Links

v3.3.1

04 Oct 02:41
15beb55
Compare
Choose a tag to compare

What's Changed

  • [Native] Parallelized UserOps using multidimensional nonces - sending multiple Smart Wallet transactions at the same time is now much faster!
  • [Native] Refactored provider used for reading, added sdk analytics.
  • [WebGL] Updated bridge, added sdk analytics.

v3.3.0

30 Sep 08:55
87a5aa9
Compare
Choose a tag to compare

What's Changed

  • New Wallet Provider - EmbeddedWallet! The ultimate, secure and seamless email and social login experience.

  • [General] The Connect Wallet Prefab now exposes personalWallet in the Inspector, making it easier to test different EOAs with the Smart Wallet option.
    afb9a49e02fae84760b4b0ea7a19af3a

  • [Native] You can now provide a Bundle ID Override as part of the ThirdwebManager General Settings, useful for testing api keys.
    79d83b94a209292c61e178f512e78b39

  • [Native] Smart Wallet Native Transaction Queuing - sending multiple transactions in quick succession / edge cases fixed.

  • [Native] Your app metadata is properly passed to MetaMask now, and sessions are ended on Disconnect by default.

  • [General] NFTLoader in Scene_Prefabs spinner is now... less ugly!

  • [General] Added Live Preview (Unity WebGL) to the Readme!

This is a minor update, meaning some structure or DLL changes occured. When upgrading, it is best to remove previous SDK files to avoid issues.

v3.2.1

20 Sep 19:05
026a7de
Compare
Choose a tag to compare

What's Changed

  • [WebGL] You can now pass recommended wallet ids to the WalletConnect modal, set in ThirdwebManager inspector to override defaults.
  • [WebGL] Updated bridge.
  • [General] Removed unnecessary third party Assembly Definitions.

56b9135b5af24491d63144d9aacb3d19

v3.2.0

19 Sep 02:11
7b3bbaa
Compare
Choose a tag to compare

What's Changed

  • Replace AsyncAwaitUtil package with Redcode.Awaiting.
  • Add namespaces to a lot of third party packages to resolve issues importing in existing web3 projects.
  • Follow Asset Store validation rules.

This is a minor update, meaning some structure or DLL changes occured. When upgrading, it is best to remove previous SDK files to avoid issues.

v3.1.1

15 Sep 17:26
b208164
Compare
Choose a tag to compare

What's Changed

  • [General] Fixed all remaining compiler warnings.
  • [Native] Reduced Smart Wallet user op hash polling to 2s + can send without waiting for receipt properly now.
  • [Native] Fixed potential issue with Wallet.Transfer when using external wallet RPC over passed RPC.

v3.1.0

12 Sep 18:41
5a649b0
Compare
Choose a tag to compare

What's Changed

  • [WebGL] Support Contract.Prepare and Transaction Builder (low-level API)
    • Enjoy full control over your transactions, fine-tune and execute them!
    • Send without waiting for receipts.
    • Choose what you want to send gaslessly if you have gasless setup.
    • Fine tune every part of your Transaction object.
    • Learn More
  • [Native] Added support for WalletConnectV2 (beta)
  • [Server] Fixed compilation/build issue related to a WebSocket script.

WalletConnectV2 Native Limitations:

  • Switching networks is not supported
  • Disconnecting then reconnecting may throw an error

This is a minor update, meaning some structure/DLL changes occured. When upgrading, it is best to remove previous SDK files if you encounter import issues.

v3.0.0

06 Sep 21:37
413d01e
Compare
Choose a tag to compare

Thirdweb's Unity SDK 3.0.0 is officially here!

What's Changed

This Release

  • TransactionResult return type now contains all transaction Receipt data available, cross-platform.
  • Added Show Debug Logs flag on ThirdwebManager, and added more debug logs.
  • Upgraded the project to 2022 LTS.
  • Cleaned up unused files.
  • Reduced package size by 25MB.
  • Updated main repo project settings.

Beta Releases Summary

  • Improved Prefab_ConnectWallet UI/Script example.
  • Integrated Hyperplay as a WalletProvider.
  • Updated default IPFS gateway.
  • Fixed MetaMask connection/request issues on mobile platforms.
  • Added support for MetaMask OTP-based session connection/resuming.
  • Updated WebGL bridge with bug fixes.
  • Fixed transaction underpricing issue on Binance-related chains.
  • Fixed issues related to adding a chain to ThirdwebManager.
  • Added support for custom chains not available on Ethereum chainlists.
  • Bugfixes and additional support for non-standard tokens with < 18 decimals transfers/claiming.
  • Less restrictive type conversion for Contract.Read.
  • Fix for Thirdweb Wallet Disconnect Null Reference.
  • Added a flag to control SDK initialization in ThirdwebManager.
  • Removed the default client ID, allowing customization.
  • Added example scripts with missing namespaces.
  • Added xai-goerli-orbit chain support.
  • Support for passing a private key override to signature.Generate.
  • Fixed compiler warnings in core scripts.
  • Ability to pass chain IDs larger than the int type.
  • Fixed Currency metadata issue.
  • Updated WebGL bridge.
  • Smart Wallets authentication/verification/signing improvements.
  • Fixed issues with creating Smart Wallets with email wallet EOAs.
  • Removed potential blockers in functions.
  • Added support for Contract.ERC721.Claim for SignatureDrop contracts.
  • Fetch additional currency metadata when fetching claim conditions.
  • Installer editor popup for quick setup.
  • Support for large chain ids (BigInteger) and Wallet.SwitchNetwork at runtime.
  • Updated IThirdwebWallet with PrepareForNetworkSwitch function.
  • ERC721AQueryable support for ERC721.GetOwned.
  • Fixed an issue with Prefab_ConnectWallet.
  • Added Thirdweb API Key support.
  • Fixed blurry QR image.
  • RPC overrides now passed to wallet providers correctly.
  • Introduced IStorageUploader and IStorageDownloader interfaces.
  • Improved Currency fetching.
  • Fixed ERC20 transfers and improved WebGL performance.
  • Introduced a new email wallet provider called Paper.
  • Deprecation of WalletConnectV1 in favor of WalletConnectV2.
  • Metamask SDK upgrade and Nethereum upgrade.
  • Simplified Wallet UI Prefabs.

Shoutout to the contributors and community who helped us get here!

Full Changelog: v2.2.3...v3.0.0

Documentation
GamingKit Overview
Build Settings
Wallet Snippets

v3.0.0-beta.12

01 Sep 17:24
96ed963
Compare
Choose a tag to compare

What's Changed

  • [Native] Fixed MetaMask connection/request issues on mobile platforms.
  • [Native] Added support for MetaMask OTP-based session connection/resuming.

Note: The WalletProvider_Metamask prefab has been updated to account for the above changes.