Blockchain

3S Game Studio - Code Plugins - Jul 14, 2022

Integrate blockchain transactions and smart contracts directly into Unreal Engine, supporting multiple EVM networks and NFTs. Ideal for seamless play-to-earn mechanics.

  • Supported Platforms
  • Supported Engine Versions
    4.27, 5.0 - 5.4
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

DISCORD SUPPORT | Tutorials (new) | Documentation | Example Project (new)

Important Note: We are thrilled to announce that, starting today, the Blockchain Integration Plugin is now available for free, thanks to our collaboration with the Filecoin Foundation!


Blockchain Integration Plugin

The Blockchain Integration Plugin provides a robust library of functions to construct and send blockchain transactions via JSON-RPC, enabling seamless communication with smart contracts directly from Unreal Engine. All functions are exposed to Blueprints for user convenience and can be packaged and shipped with dedicated servers.



Currently Supports:

·      All EVM-based networks, including Ethereum, Filecoin, Lukso, Avalanche, Polygon, Binance Smart Chain, and more.

·      Layer 2 networks based on Optimism or zk Rollup, such as ImmutableX.



Why Blockchain?

Blockchain technology allows you to write, read, and store values and functions inside a decentralized ledger. This decentralized approach eliminates the need for traditional server or database setups, reducing maintenance costs. Blockchain can handle various tasks, such as saving game progress, storing user statistics, and managing user-generated content, all without the need for third-party providers. Using test networks can reduce operational costs to nearly zero, and transitioning to the main net incurs costs only for actual usage, without ongoing subscription fees.



NFT Support

Our plugin fully supports NFT functionalities. You can mint, transfer, and utilize NFTs directly within your game, either as player rewards or by leveraging existing NFT collections. This makes it easy to add utility to NFTs within your projects.



Play-to-Earn Model

The plugin also supports the play-to-earn model, allowing you to reward players with your tokens or through direct transfers and minting privileges for game NFTs. This model can operate without a custom token or payment model, emphasizing in-game achievements and rewards.



Features
  • Construct and Send Transactions: Create and manage blockchain transactions using JSON-RPC.
  • Smart Contract Interaction: Communicate directly with smart contracts from Unreal Engine.
  • Blueprint Integration: Expose all functions to Blueprints for ease of use.
  • Multi-Network Support: Compatible with multiple blockchain networks and testnets, including EVM-based networks.
  • NFT Management: Mint, transfer, and use NFTs within your game.
  • Play-to-Earn Support: Implement play-to-earn mechanics seamlessly.
  • Advanced Cryptography: Utilizes a custom secp256k1 implementation in C++ for all cryptographic operations.
  • In-Game Key Management: Generate cryptographic keys, addresses, and signatures within the game, eliminating the need for external wallets.
  • QR Code Generation: Generate QR codes for various blockchain-related functionalities.
  • Meta Transactions: Support for meta transactions, allowing for efficient and secure transaction management.
  • Efficient File Handling: Efficient sha256 hashing of large files.
  • HD Wallet support. Including mnemonic based key generation.



Changelog

V 3.1 Release Note:

  • Added:
  • Generic JSON-RPC
  • SendJsonRpcBatchRequest
  • Ethereum extension function: GetBlockchainTransactions
  • Changed:
  • Renamed FBase32 to FTSBC_Base32
  • Fixed:
  • UTF8 Warnings

V 3.0 Release Note:

  • Added:
  • Filecoin Support
  • BLAKE2b hashing function
  • Base32 encoding/decoding
  • More Ethereum functions:
  • eth_chainId
  • eth_getBlockByHash
  • eth_getBlockByNumber
  • eth_maxPriorityFeePerGas
  • eth_protocolVersion
  • Fixed:
  • Sha256 hashing large files

V 2.6 Release Note:

  • Major refactoring and stability update

V 2.5 Release Note:

  • Meta Transactions
  • QR Code Generation

V 2.4 Release Note:

  • Ronin network support
  • ETH_GetLogs method
  • HD Mnemonic Wallet support (BIP-32 BIP-39)
  • Deterministic signing for secp256k1 and other cryptographic features
  • EIP-1559 Transactions type2

V 2.3 Release Note:

  • Custom HTTP headers for authentication purposes

V 2.2 Release Note:

  • Added full LUKSO network support
  • Multiple ERC, EIP, and LSP standards covered by ABI objects
  • OpenSea Meta Data Standard covered

V 2.1 Release Note:

  • Private key AES Encryption-Decryption

V 2.0 Release Note:

  • New ABI encoding and decoding using K2 Nodes and Data assets!
  • Allows returning multiple arrays or a mix of static values and arrays/structures.
  • Automatic parsing of values to number, bool, and string.
  • ERC20, WRC721, and ERC1155 standards already prepared for ABI use.

V 1.1 Release Note:

  • Layer 2 reading capability for both ZK rollup and Optimism, currently supports ImmutableX & Loopring
  • New ETH functions: get transaction receipt, get transaction by hash, get block number

V 1.0 Release Note:

  • Base58 encoding
  • Bytes array operations
  • ECDSA SECP256k1 full support (signing, key generation, etc.)
  • Sha512, Sha256, Ripemd160
  • Keccak-256 full support
  • JSON-RPC General API call function (async and callback)
  • Uint256 full support: Calculation, Comparison, Conversion, Parsing
  • Ethereum Methods: Estimate gas, Gas price, Transaction count, Get balance
  • Send raw transactions
  • Address generation
  • Address validation
  • Transaction signing
  • Transaction validation
  • Get network configuration

Planned Updates:

  • Solana Blockchain
  • Bitcoin Blockchain

Technical Details

Features:

  • ECDSA - SECP 256 K1: Generate private and public keys based on elliptic curves.
  • Hashing Library Functions: Integration of Keccak 256, SHA 256, SHA 512, and RIPEMD 160 hashing functions.
  • Ethereum Address Generation and Validation: Easily generate and validate Ethereum addresses.
  • JSON RPC Request: Perform JSON RPC calls on any blockchain node implementing JSON RPC for communication.
  • _ETH Functions: Basic Ethereum functions such as checking gas price, getting balance, sending raw transactions, and estimating gas.
  • Filecoin & FVM Support. Filecoin v4 address generation.
  • Uint256 Parser: Handle 256-bit integers and unsigned integers.
  • Hex Conversion: Convert between hex strings and big integer strings.
  • Generate Transaction: Generate and sign transactions to send via RPC calls.
  • Base58 Parser: Parse Base58 encoded data.
  • Secure Random Bytes Library: Generate secure random bytes.
  • QR Code Generation: Generate QR codes directly in the engine for various use cases.
  • DAG-JSON Encoder/Decoder: Encode and decode DAG-JSON for advanced data structures.

 

Code Modules:

  •  TSBC_Plugin (runtime) 

 

Number of Blueprints: 0

Number of C++ Classes: 138

Network Replicated: Yes (via blockchain)

Supported Development Platforms: Windows

Supported Target Build Platforms: Win64, Linux, Android

Documentation: Link.

Example Project: Link.