The Unity-Solana Wallet is an essential bridge connecting game developers and the Solana blockchain. With Solana’s quick and low-cost transactions, games can start using blockchain technology like never before — in real-time. Thousands of developers will bring millions of players into the Solana ecosystem. This will, in turn, make the Solana projects benefit from an increased number of participants, and cross-protocol interoperability in games will take us beyond the current understanding of DeFi.
The Unity game engine is one of the two most popular building tools for creating games and apps for multiple platforms ranging from mobile phones and computers, all the way to VR, AR, XR headsets. There are more than 1.5 million active Unity developers worldwide.
We believe that this wallet will establish a direct interaction between the Unity community and the Solana blockchain, enabling everyone in the system to release games and apps more easily and quickly. Game developers can now create their in-game tokens and items from within Unity without any prior knowledge of smart contracts or blockchain transactions.
The first Wallet release features:
- Create/Backup wallet with mnemonic phrase
- Account handling
- Transaction building
- SOL balance
- SPL-token balances
- SPL-token transfers
- Basic UI examples
Future milestones include:
- Multiple wallet accounts
- Camera support with QR code scanning for token transfers
- Improved UI for in-game easy integration
- Metaplex NFT / NFT-PRO support with GameObjects
- Token swaps
- NFT swaps
- One-click in-game currency creator
- Themed UI support
- Metaplex auctions for in-game store items
Building games and applications in Unity that are connected to blockchain protocols is a specific challenge, as there are no easily deployable tools for new blockchains like Solana. Solana is the first L1 blockchain solution that has the potential and power to revolutionize the gaming industry with ultra-fast and inexpensive transactions, ensuring games can finally utilize blockchain tech for in-game mechanics in real-time, which is currently impossible with other chains like Ethereum.
“At All-Art, we feel that a Unity-Solana integration is the core element of the wide adoption of blockchain in games and apps. Once developing blockchain-based games becomes the norm, all games will have their in-game economies operating on the blockchain. For this to happen, a robust, high-speed infrastructure is needed and we see Solana as the key for that. Adding NFT / NFT-PRO support through Metaplex stores and the All-Art Protocol infrastructure will ensure game developers can start thinking differently about in-game assets. They all become tradable NFTs. We can’t wait to see what the Unity community will do with the wallet, and we are here to help them on this journey, as our mission is simple — bring games to Solana.”
— Vitomir Jevremovic, CEO of All-Art Protocol
Creating in-game currency with tokens and NFTs has to become a plug-and-play solution, in which the ledger infrastructure is not in-house server technology, but the blockchain that serves as a store of information and value. The Unity-Solana wallet bridges this gap and enables game developers to deploy token infrastructure with only a few clicks.
The current game developer community has limited tools at its disposal to use NFTs for in-game items and objects. If done well, this will become one of the greatest leaps in the gaming industry in the years to come.
We hope the Wallet will inspire more developers to start their blockchain journey, and that it will make Solana one of the top blockchains to be utilized in games and apps of the future.
Unity-Solana Wallet on GitHub: [https://github.com/allartprotocol/unity-solana-wallet/]
Libraries and Dependencies
The Unity-Solana Wallet uses Solnet’s implementation .NET SDK, but we had to modify the library to make it Unity compatible with .NET Standard 2.0 and .NET 4.x. Solnet is Solana’s .NET SDK to integrate with the .NET ecosystem. https://blockmountain.io/Solnet/
- Newtonsoft.Json — for JSON deserialization
- Chaos.NaCl.Standard — for Ed25519 signatures
- Portable.BouncyCastle — for data encryption
- Zxing — for QR code generation/recognition