sui-unreal-sdk
Connecting Unreal game developers to Sui blockchain and Origin Byte's NFT ecosystem.
Features
- For Rpc clients’ direct interaction with the Sui JSON-RPC https://docs.sui.io/sui-jsonrpc
- Get SUI objects
- Call Sui Move contracts
- Sign, Batch and Execute Transactions,
- Transfer, Split and Merge SUI coins and objects
- Mint Origin Byte NFTs
- Restore Ed25519 Keypairs from BIP39 mnemonics and Create new Keypairs
- Tested on Windows desktop with Sui version 1.13.0 and Nft Protocol 1.2.0 on Testnet
- Works with Unreal Engine 5
Getting Started
Quickstart: download this repository and open with Unreal Engine 5
Check the Sample Level and the Blueprint Nodes in the Level Blueprint. The SuiUnrealSDKCore module contains all the high level functionalities. Both C++ and Blueprints are supported.
How to use it in your project
Install VaRest Plugin from the Marketplace, and copy all plugins found in the Plugins folder (Bip39UE, LibsodiumUE, SuiUnrealSDKCore )
Notice
Because of the limitations of Blueprints, sui JSON API method signatures use signed integer types instead of unsigned counterparts (int32 and int64 types instead of uint32 and uint64). For most use cases we believe they provide sufficient range of values. If you run into problems, please open an issue on GitHub.
Usage Samples
RPC Read API
Get Object
Blueprint:
C++:
auto Client = RpcClient(Endpoint);
FRpcSuccessDelegate RpcSuccessDelegate;
RpcSuccessDelegate.BindLambda([OnResult](const FJsonRpcValidResponse& RpcResponse) {
UE_LOG(LogTemp, Log, TEXT("Response received."));
});
FObjectDataOptions Options;
Client.GetObject(ObjectId, Options, RpcSuccessDelegate);
RPC Historical Event Read API
Transaction API
Sign And Execute Transactions:
Crypto Helper API
Copy paste ready Blueprint Nodes
Copy paste ready Blueprint Nodes
Dependencies
The SDK Plugin depends on the VaRest plugin available from the marketplace. All the other Dependencies can be found in the Plugins folder.
Roadmap
- More platform support (iOS, Android, Mac)
- Streaming RPC client, Event subscription
- More RPC APIs and type bindings
- More samples
- More NFT protocol bindings for Unreal Engine
- Higher level APIs, easy-to-use Blueprint nodes