Solana.Unity-SDK is the interface to access Solana.Unity-Core, Solnet implementation in .NET Standard 2.0 (Unity compatible). The SDK supports an In-game wallet with Web3auth authentication, phantom and SMS (upcoming). A set of convenience methods allows Unity developers to access all the methods implemented in Solana.Unity-Core, including MPL, native dex transactions and more...
Solana.Unity-SDK started as a fork of unity-solana-wallet, but it has been detached due to the several changes we have made and upcoming pipeline of integrations.
๐ Documentation
๐ฎ Unity Asset Store
The SDK is also available on the Unity Asset Store as a Verified Solution
๐ Live Demo
- Full JSON RPC API coverage
- Wallet and accounts: Set up of a non-custodial Solana wallet in Unity (sollet and solana-keygen compatible)
- Phantom and Web3auth support (non-custodial signup/login through social accounts)
- Transaction decoding from base64 and wire format and encoding back into wire format
- Message decoding from base64 and wire format and encoding back into wire format
- Instruction decompilation
- TokenWallet object to send and receive SPL tokens and JIT provisioning of Associated Token Accounts
- Basic UI examples
- NFTs
- Compile games to xNFTs (Backpack)
- Native DEX operations (Orca, Jupiter)
- Websockets to register/trigger custom events (account change, signature status, programs, ...)
- Solana Mobile Stack support
- Solana Wallet Adapter
- Seed Vault
- Raindrops integration, see the DAO proposal
- Solana.Unity.Wallet
- Solana.Unity.Rpc
- Solana.Unity.Dex
- Solana.Unity.Gum
- Solana.Unity.Extensions
- Solana.Unity.KeyStore
- Solana.Unity.Programs
- Newtonsoft.Json
- Chaos.NaCl.Standard
- Portable.BouncyCastle
- Zxing
- UniTask
- Open Unity Package Manager window.
- Click the add + button in the status bar.
- The options for adding packages appear.
- Select Add package from git URL from the add menu. A text box and an Add button appear.
- Enter the
https://github.com/magicblock-labs/Solana.Unity-SDK.git
Git URL in the text box and click Add. - Once the package is installed, in the Package Manager inspector you will have Samples. Click on Import
- You may also install a specific package version by using the URL with the specified version.
https://github.com/magicblock-labs/Solana.Unity-SDK.git#vX.Y.X
- Please note that the version
X.Y.Z
stated here is to be replaced with the version you would like to get. - You can find all the available releases here.
- The latest available release version is
- You will find a sample scene with a configured wallet in
Samples/Solana SDK/0.0.x/Simple Wallet/Solana Wallet/scenes/wallet_scene.unity
- If you have an older version of Unity that doesn't have imported Newtonsoft.Json just import it.
- Create a new scene.
- Import WalletController prefab into your scene.
- Set RPC Cluster (Mainnet/Testnet/Devnet/Custom uri) on SimpleWallet script in WalletController prefab.
- If you use custom URI be careful to use WS/WSS instead of HTTP/HTTPS because WebSocket does not work with HTTP / HTTPS.
- Create new Canvas
- Import WalletHolder prefab into the Canvas or if you want your design just import wallet prefab and customize the scene.
Open Source is at the heart of what we do at Magicblock. We believe building software in the open, with thriving communities, helps leave the world a little better than we found it.
Thanks go to these wonderful people: