Releases: thirdweb-dev/unity
v4.2.1
What's Changed
- [General] Added
GetEmail
to theWallet
interface. - [General] Default RPC and Bundler URLs now use chain ids instead of slugs.
- [General] When adding a network to an external wallet, client and bundle ids are now excluded from thirdweb RPCs.
- [General] Updated chains package.
- [General] MetaMask logs are now turned off by default.
- [General] Exposed
ERC20.TransferFrom
. - [Native] Exposed
ERC1155.TransferBatch
. - [WebGL] Fixed bug where reconnecting to a local wallet would throw.
- [WebGL] Bridge updated.
v4.2.0
What's Changed
Brand new customizeable Connect Wallet button prefab!
Here's an example of connecting to an embedded wallet using google and creating a smart wallet out of it.
58111ba34624b1e1a1d05d0264ff7d0b.mp4
- [General]
Prefab_ConnectWallet.cs
revamped and simplified - you can now choose to connect to any wallet as a smart wallet with one checkbox. - [General] Fixes to smart wallets ignoring auth options when provided (such as when using social login).
- [General] Remove
Scene_Marketplace
- [General] Add Marketplace and Smart Wallet examples to
Scene_Prefabs
- [General] Add
Prefab_SmartWallet
examples for adding/removing admins as well as creating session keys. - [General] Various improvements and bugfixes
- [WebGL] Live Preview updated to showcase smart wallets (on goerli)
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.
v4.1.2
What's Changed
- [Native] Fix
Wallet.SignTypedData
failing with external wallets when the payload contains arrays. - [Native] Add fallback for chain id requests with external wallets.
- [General] Use culture-insensitive parsing when converting an eth value to wei.
v4.1.1
What's Changed
- [Native] Fixed gas estimation failing in some cases when interacting with custom contracts using SmartWallet.
- [WebGL] Support for static method
Transaction.WaitForTransactionReceipt
. - [General] New static class
Blocks
with block processing functionality, get information on latest or specific blocks including transaction data. - [General] Build Size Optimization: moved unused files outside from Resources folder, sprites' scale fixed to support compression by @umutkutlu in #130
v4.1.0
What's Changed
- [General] Added support for Apple and Facebook Logins (Apple Touch/Face ID supported on Mobile platforms as well).
Prefab_ConnectWallet
was also updated with the additional social logins.
- [General] Logging in with the same previous email / social auth will automatically log the user in now.
- [General] Improved performance / code structure for Embedded Wallets.
- [General] Added support for new chains, updated chains package.
- [Native] Fixed main thread freezing in the Embedded Wallet post-login flow in some cases.
- [WebGL] Added support for Smart Wallet Admin/Session Key management APIs (see previous release for more details).
- [WebGL] Added support for Smart Wallet account overrides on connection (see previous release for more details).
- [WebGL] Updated Live Preview.
Visit our Embedded Wallet and Smart Wallet documentation to get started creating seamless onboarding and dynamic gameplay flows!
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.
v4.0.1
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 tosdk.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
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.
- Also removed
- 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 theThirdwebManager
. - 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
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
What's Changed
-
New Wallet Provider - EmbeddedWallet! The ultimate, secure and seamless email and social login experience.
- Login with the same email cross platform, get the same wallet address.
- Works great as the signer (personal wallet) to use Smart Wallets (ERC4337) with.
- Instead of the normal OTP flow, you can optionally choose to sign in with google (WebGL only for now)
- Does not require the user to keep a recovery code.
- Non-custodial.
- Enable this wallet easily by providing a Client ID with Embedded Wallets service enabled.
-
[General] The Connect Wallet Prefab now exposes
personalWallet
in the Inspector, making it easier to test different EOAs with the Smart Wallet option.
-
[Native] You can now provide a Bundle ID Override as part of the
ThirdwebManager
General Settings, useful for testing api keys.
-
[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
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.