Releases: thirdweb-dev/unity
v4.3.1
What's Changed
- [Native] Improved Smart Wallet gas estimations.
- Gas limits are now fetched directly from bundler simulations.
- Gas prices are now fine-tuned based on the connected chain.
- [Native] Connecting to a Smart Wallet using a personal wallet provider that is already connected will now skip the reconnection step.
v4.3.0
What's Changed
- [General] Embedded Wallets
CustomJWT
auth option is nowJWT
.JWT
auth option now requires a developer-passedencryptionKey
.- Added
AuthEndpoint
auth option to support non-OIDC type authentication methods. authToken
parameter renamed tojwtOrPayload
.
- [General] Wallet API (for Smart Wallets)
- Added
RevokeSessionKey
to revoke a signer's permissions. - Added
GetAllActiveSigners
to get a list of all active signers and their permissions.
- Added
More flexibility on authentication methods, as well as more control over your Smart Wallets should allow for much better DX, happy coding!
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.2.2
What's Changed
- [Native] Fix Smart Wallet transactions sometimes failing when using Dynamic or Managed factories.
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.