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.
The SDK is also available on the Unity Asset Store as a Verified Solution
โจ Features
- 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
๐ฉ Upcoming
๐ Dependencies
- 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
โ Installation
- 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
๐ท Step-by-step instructions
- 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
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.
โจ Contributors & Community
Thanks go to these wonderful people: