All Projects → heathen-engineering → BGSDK-Foundation

heathen-engineering / BGSDK-Foundation

Licence: MIT license
Heathen Engineering's BGSDK Foundation allows you to manage in-game items as blockchain assets. It is a complete wrapper around Venly's Web API. The tool simplifies integration with Venly API exposing all features and functions to C# classes and includes Editor extensions to aid in design and deployment of Contracts and Tokens.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to BGSDK-Foundation

Unity Scriptableobjects Game Events
Based on a great talk by Ryan Hipple, here is my improved version of his Game Event system for Unity
Stars: ✭ 121 (+105.08%)
Mutual labels:  unity3d-plugin
Unitybarcodescanner
Simple Unity Barcode Scanner
Stars: ✭ 180 (+205.08%)
Mutual labels:  unity3d-plugin
Hololenscamerastream
This Unity plugin makes the HoloLens video camera frames available to a Unity app in real time. This enables Unity devs to easily use the HoloLens camera for computer vision (or anything they want).
Stars: ✭ 233 (+294.92%)
Mutual labels:  unity3d-plugin
Fairygui Unity
A flexible UI framework for Unity
Stars: ✭ 2,007 (+3301.69%)
Mutual labels:  unity3d-plugin
Poseplus tbs
基于unity3d重写的动作系统PosePlus,回合制策略游戏实现。
Stars: ✭ 161 (+172.88%)
Mutual labels:  unity3d-plugin
Naughtyattributes
Attribute Extensions for Unity
Stars: ✭ 2,641 (+4376.27%)
Mutual labels:  unity3d-plugin
Unitylibrary
📚 Library of all kind of scripts, snippets & shaders for Unity
Stars: ✭ 1,968 (+3235.59%)
Mutual labels:  unity3d-plugin
Unity-2017.2-and-Vuforia-6.5---Camera-Auto-Focus
Unity 2017.2 and Vuforia 6.5 Augmented Reality (AR) Camera Auto Focus
Stars: ✭ 17 (-71.19%)
Mutual labels:  unity3d-plugin
Zinnia.unity
A collection of design patterns for solving common problems.
Stars: ✭ 177 (+200%)
Mutual labels:  unity3d-plugin
Apple Signin Unity
Unity plugin to support Sign In With Apple Id
Stars: ✭ 228 (+286.44%)
Mutual labels:  unity3d-plugin
Socket.io Client Unity3d
socket.io-Client for Unity3D, which is compatible with socket.io v1.x
Stars: ✭ 147 (+149.15%)
Mutual labels:  unity3d-plugin
Unitydynamicscrollrect
An optimized approach to lists with dozens of elements and a Pooling system
Stars: ✭ 157 (+166.1%)
Mutual labels:  unity3d-plugin
Ez Camera Shake Unity
A free powerful asset for achieving easy and quality camera shake in Unity. Open-sourced with the permission of Road Turtle Games. 📷
Stars: ✭ 191 (+223.73%)
Mutual labels:  unity3d-plugin
Unity Bitmapfontimporter
An unity editor extension for bitmap font.
Stars: ✭ 139 (+135.59%)
Mutual labels:  unity3d-plugin
Unitygoogledrive
Google Drive SDK for Unity game engine
Stars: ✭ 236 (+300%)
Mutual labels:  unity3d-plugin
Ma textureatlasser
Texture atlas creator for Unity
Stars: ✭ 116 (+96.61%)
Mutual labels:  unity3d-plugin
Unity3d Logcat Extension
Logcat (android logging) extension for Unity3D
Stars: ✭ 179 (+203.39%)
Mutual labels:  unity3d-plugin
AssetLens
Asset Lens : Unity asset reference management utility working in background. 에디터 백그라운드에서 관리되는 유니티 에셋 파일 레퍼런스 데이터 도구.
Stars: ✭ 47 (-20.34%)
Mutual labels:  unity3d-plugin
template-unity-package
A Github template for creating a new Unity Package. Hit the green "User this template" next to "Clone or download" to get started!
Stars: ✭ 50 (-15.25%)
Mutual labels:  unity3d-plugin
Naughtybeziercurves
Bezier Curve Game Object for Unity
Stars: ✭ 195 (+230.51%)
Mutual labels:  unity3d-plugin

Blockchain Game Software Development Kit (BGSDK):

Foundation

Heathen Engineering's BGSDK Foundation allows you to manage in-game items as blockchain assets. It is a complete wrapper around Venly's Web API. The tool simplifies integration with Venly API exposing all features and functions to C# classes and includes Editor extensions to aid in design and deployment of Contracts and Tokens.

Requirements

Please note that you will need to register for an account with Venly to recieve the required Client ID and Secret used by the kit to connect to the Venly backend. This must be aquired from Venly directly.

Documentaiton

Installation

  • Package Manager
  1. Open the package manager and click the '+' (plus) button located in the upper left of the window
  2. Select Add package from git URL... when prompted provide the following URL:
    https://github.com/heathen-engineering/BGSDK-Foundation.git?path=/Package
  • A version of the package will be made availabel via the Unity Asset Store at a later date.

Features

  • Define Contracts and Tokens in your game's assets as scriptable objects.
  • Visualy edit Contracts and Tokens with the BGSDK Manager window
  • Deploy new contracts and tokens to the Venly backend services from with in the editor
  • Read existing Contracts and Tokens from the Venly backend creating the related scriptable objects automatically.
  • Read wallets and update token quantities owned by the user at run time (like an inventory system where tokens are items)

Usage

For greater details please see the Knowledge Base

The main concept of use in a Unity game client is to get the user's content from a specific wallet. The concept of a White Label Wallet is key to the whole process. A White Label Wallet is a wallet that is owned by the App not the user, this means the app can add to and remove from this wallet without barrer, you can think of this as an "inventory" which your app can assoceate with the given use through whatever means makes the most since for your game. For example you might store the White Label Wallet ID on the user's account entity such as seen in PlayFab.

How you assoceate a White Label Wallet is up to you. As to the creation of a new White Label Wallet for a user that is most appropreate to be done on your Trusted Web Server. To learn more about the typical architecture of a game and how backend services such as a Trusted Web Server fit into that design please read our Knowedge Base entry on Game Architecture.

Once you have a White Label Wallet related to your user you can query it simply via the following code.

Fetch the contents of a specific white label wallet

StartCoroutine(API.Server.Wallets.List(HandleListWalletResults));

where HandleListWalletResults would recieve a NFTBalanceResult which can be used to iterate over the content found in that wallet.

private void HandleNFTBalanceResult(NFTBalanceResult balanceResult)
{
    if(!balanceResult.hasError)
    {
        foreach(var token in balanceResult.result)
        {
            // Token owned
        }
    }
    else
    {
        Debug.Log("List NFT Responce:\nHas Error: " + balanceResult.hasError + "\nMessage: " + balanceResult.message + "\nCode:" + balanceResult.httpCode);
    }
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].