Stable Release - Thirdweb Unity SDK v5
With the release of our .NET SDK v2, the next generation of our Unity SDK is finally out of beta - no more platform specific updates!
This version comes with long-awaited features and various speed, stability and performance improvements.
Ecosystem Wallets
An ecosystem wallet is your own managed in-app wallet service that allows you to create a branded wallet and login system, and allow any number of partners to spin up in-app wallets. End users that create in-app wallets in your partner applications (either with email, phone number, socials or your own custom authentication) will receive one account and wallet address that they can access across all apps and games in your ecosystem.
Ecosystem Wallets use an enclave backend to handle private keys and signing, remaining non-custodial and secure, while also offloading the otherwise sharded wallet client side cryptographic work to a single http request - the ultimate cross-platform friendly account system.
You may upgrade these Ecosystem Wallets to Smart Wallets as you would any other wallet. The API is extremely similar to our In-App Wallets', and in some places simplified as well due to the streamlined infrastructure that powers it.
We've also reworked our login flows to increase speed and performance across the board, it's time to move on from external wallets (or just link them to our embedded wallets from now on through our Unified Identity system!)
Automatic Smart Wallet Network Switching
Given how our new SDK is structured, where no chain id is necessarily stored in the sdk or wallet's state, you may interact with any chain at will easily, setting up contracts or low level transactions across multiple chains and using a single wallet to execute them all.
Such functionality is now available seamlessly through our Smart Wallet offering. Simply create a smart wallet on any initial chain, and interact with any contract or send any transaction using another chain id - the smart wallet will automatically switch to that chain!
Do note that if you are overriding the default account factory in your connection parameters, that account factory must be deterministically deployed across the chains you are interacting with.
Unlocking low level transaction flows and zkSync specific flows
The ThirdwebTransaction.Create
inputs have been simplified, removing redundant chain id parameters.
We've also made it simpler to create low level transactions by adding ThirdwebTransactionInput
constructors that take in simpler types, and made zkSync transactions go through the EIP712 transaction flow regardless of whether you use a paymaster or not - this means you can override zkSync specific transaction variables like gas per pubdata and we'll still route your transaction through the 712 flow. If none of this made sense to you, don't worry, these are low level uncommon use cases.
Miscellaneous
[Utils] Added Utils.GetAddressFromENS
and Utils.GetENSFromAddress
- more info about ENS here.
[Utils] Added Utils.IsDeployed
as a standalone way to check if there is contract code at a specified address.
[AA] CallGasLimit UserOp value now accepts user estimated or manual gas limits as overrides automatically if it's above bundler esimated callGasLimit.
[RPC] Improved response time, batching and caching behavior.
Unity-Specific
[ThirdwebManager] Added EcosystemWalletOptions
as a parameter for when connecting to WalletProvider.EcosystemWallet
.
[ThirdwebManager] Added EcosystemWalletModal
prefab - similar to InAppWalletModal
, will spawn if using ThirdwebManager.ConnectWallet
with the respective wallet provider and otp-based authentication // fully customizeable, as are all things thirdweb. You may still opt to use our lower level .NET APIs and create your own flows.
[Extensions] Added Unity-specific extension for the NFT
type - NFT.GetNFTSprite
will return a Sprite loaded with your NFT's image.
Mandatory - Various Fixes & Performance Improvements
No, really. We're serious.
What's Next?
Now that the core is stable, we want to listen to your feedback, improve on all of it while also continuing to add features and unlock more functionality to help game developers, studios and publishers across the globe integrate the best tech ever created - blockchain tech.
UI Components are next, expect Scene_Playground
to be updated as we roll those out - first up, production ready, fully featured Connect.
Support
Releases
.NET v2: https://www.nuget.org/packages/Thirdweb/2.0.0
Unity v5: https://github.com/thirdweb-dev/unity-sdk/releases/tag/v5.0.0