Skip to content

Releases: thirdweb-dev/unity

v4.13.2

17 May 19:30
918653d
Compare
Choose a tag to compare

What's Changed

  • [Native] ETH <> GWEI <> WEI decimal conversions are now more accurate.
    • This includes Utils.ToWei and Utils.FormatERC20.
    • When an overflow occurs (i.e., the number is too small or large for a decimal, such as with ERC20 large supply), the system falls back to using floating point arithmetic to handle the conversion.
    • Culture invariance is now respected throughout these flows.
  • [Standalone, Android] Smoother OAuth Cancellation Handling.
    • Reattempting to authenticate using OAuth (Google, etc.) before the first attempt succeeds or times out when using InAppWallet no longer throws.
    • Explicitly calling InAppWalletUI.Cancel now properly resets state and throws as usual.
    • Case of cancelling by calling InAppWalletUI.Connect again before the first one completes is now handled properly and only logs a warning.
  • [Native] Added endSessionOnDisconnect option in Prefab_ConnectWallet. You may enable this to force reauthenticate after disconnecting and not preserve sessions, for instance when using InAppWallet.

v4.13.1

16 May 10:41
3c17230
Compare
Choose a tag to compare

What's Changed

  • [Cross-Platform] Added various new chains, including B3 Sepolia.
  • [WebGL] Reinitializing the SDK to a different chain and reconnecting to an InAppWallet (or SmartWallet using an InAppWallet as an admin) no longer triggers the connection flow again and automatically reconnects you as long as the email or phone number provided are the same as the previous connection's. Explicitly calling Disconnect after the first connection in this case would negate this behavior and normally go through the authentication flow again.

v4.13.0

14 May 02:17
efeab8e
Compare
Choose a tag to compare

What's Changed

  • [Cross-Platform] Smart Wallet Option Factory Address is now optional in your ThirdwebManager.
    • You may now use Smart Wallets without any setup.
    • ThirdwebManager Smart Wallet Option Gasless now defaults to true.
    • We still recommend deploying your own factory in production, however this makes it easy to prototype cross-chain!
  • [Cross-Platform] New Feature - Buy with Fiat
    • OnRamp to crypto tokens using a credit card!
    • US Support (International support coming soon).
    • Multistep Buy with Fiat -> Buy with Crypto support for less liquid tokens, using intent identifiers.
    • Testmode example available in Scene_Pay.
  • [WebGL] Updated bridge.

This is a minor update, meaning some structural or api breaking changes occured. When upgrading, it is best to remove previous SDK files for a smooth importing process, backing up any prefab copies or scripts extending or overriding thirdweb prefabs and scripts.

v4.12.4

25 Apr 16:28
69ca41f
Compare
Choose a tag to compare

What's Changed

v4.12.3

25 Apr 03:06
e91b1d1
Compare
Choose a tag to compare

What's Changed

  • [Native] Non-Blocking Encryption/Decryption: The process of encrypting/decrypting data when connecting to a LocalWallet has been optimized to avoid blocking the main thread.
    • Resolved Issue: This change fixes an issue where users experienced a freeze of approximately 0.5 to 1.5 seconds upon connecting to a LocalWallet.
    • Performance Trade-off: As a side effect of this update, the connection time to a LocalWallet may be about 1 second slower, depending on the device's performance capabilities.

v4.12.2

22 Apr 17:24
493f6ae
Compare
Choose a tag to compare

What's Changed

  • [Cross-Platform] Updated chains package, added new chains.
  • [WebGL] Updated bridge.

v4.12.1

17 Apr 23:37
869df33
Compare
Choose a tag to compare

What's Changed

  • [Cross-Platform] Added Wallet.AuthenticateAndLoginServerSide that helps you use thirdweb Auth more easily, cross-platform.
    • Previously, Wallet.Authenticate mostly acted as a signed payload generator rather than a full authentication flow, and stored a local SIWE style session. You had to do the extra work of serializing, encoding and logging in to your backend as an extra step.
    • You may use this helper method instead if you have thirdweb Auth setup on your backend, passing in your domain and chain id, to replicate a full login flow without having to deal with payloads, encoding or signing/verifying.
    • Defaults to calling /auth/payload and /auth/login, overrideable.
    • Works with Smart Wallets.
    • Uses UnityWebRequest, meaning it's WebGL compatible, however make sure CORS is setup correctly to test in WebGL as usual.

v4.12.0

16 Apr 23:43
1d277cf
Compare
Choose a tag to compare

What's Changed

Providing new ways for devs to sponsor transactions, powered by Engine!

  • [Cross-Platform] Added support for the thirdweb Engine Relayer
    • This relayer is a service provided by thirdweb for an alternative way to sponsor transactions on behalf of users through Engine.
    • When using Transaction.Send or Transaction.SendAndWaitForTransactionResult you may specify whether to use this gasless feature or not, other higher level APIs will default to the gasless flow if you have the relayer set up.
    • Replaces OpenZeppelin Defender Options.
    • We still recommend using Account Abstraction for gasless sponsorship features through Smart Wallets, however in some cases a relayer is needed!
  • [Native] Improved Contract.Write flow.
    • Better gas limit/price/fees estimations when not provided, similar to other APIs.
    • Now uses the gasless relayer by default if it is set up in your ThirdwebManager, similar to other higher level APIs.

b3239638a30c2ff165d7c05477da1372

Visit our documentation portal to learn more at https://portal.thirdweb.com/unity

v4.11.0

12 Apr 01:02
bf98f94
Compare
Choose a tag to compare

What's Changed

  • [Cross-Platform] Using Custom Contracts no longer requires passing an ABI on any platform.
    • Using Contract.Prepare, Contract.Read or Contract.Write will populate the ABI at runtime if it was not provided.
    • This is a great way to get started quickly, but it is not recommended for production environments for speed reasons.
    • We've also added Contract.FetchAbi to fetch the ABI manually.
  • [WebGL] Fixed regression introduced in 4.10 where using Smart Wallets with Embedded Wallets as a signer in WebGL would have caused invalid auth provider: undefined to be thrown. We now handle that case correctly.
  • [Cross-Platform] Renamed EmbeddedWallet to InAppWallet, as well as most other related scripts, prefabs and files.
    • There are no functionality changes between the old EmbeddedWallet and the new InAppWallet.
    • You may need to slightly adapt any previous prefabs you had and make sure the renamed classes are referenced properly.
    • This is in an effort to move to a powerful In-App Wallet that potentially will encompass other wallet type functionalities within itself.

This is a minor update, meaning some structural or api breaking changes occured. When upgrading, it is best to remove previous SDK files for a smooth importing process, backing up any prefab copies or scripts extending or overriding thirdweb prefabs and scripts.

v4.10.1

09 Apr 00:14
ec4ce3e
Compare
Choose a tag to compare

What's Changed

  • [WebGL] Upgraded bridge, includes optimizations and improved smart wallet transaction simulation (less silent reverts).
  • [Native] Added low level Contract.ReadRaw for parsing complex tuples into a Nethereum code generated style output type, useful when basic dynamic invocation/deserialization is not good enough for your use case.
  • [Native] Wallet.GetAllActiveSigners() now also returns admins, you may iterate through the output and check isAdmin to differentiate admins from basic session keys.