Skip to content

trilitech/tezos-unity-sdk-rpg-sample-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Tezos SDK For Unity - RPG Sample Game

This Unity Project demonstrates key features of the Tezos SDK For Unity within an RPG Sample Game.

Getting Started

  1. Download this repo (*.zip or *.git)
  2. Download the Unity Editor
  3. Open this repo in the Unity Editor
  4. Enjoy!

Documentation

Configuration

Videos

This Unity Project is featured in the following videos.

Tezos SDK For Unity - Authentication Tezos SDK For Unity - NFTS

Screenshots

Scene01_IntroMenu Scene02_Game

Features

This project showcases several key features and use-cases for the "Tezos SDK For Unity". Here are highlights.

Authentication

Players connect to the blockchain with a Tezos-compatible mobile wallet. For this RPG sample game, authentication unlocks faster character movement.

To see this feature in action, play the Scene01_IntroMenu Scene. The Scene01_IntroMenu.cs class provides a full demonstration. Here is partial snippet.

// Store reference for convenience
ITezosAPI tezos = TezosSingleton.Instance;

// Determines if the user is authenticated 
if (!tezos.HasActiveWalletAddress())
{
    // Makes a call to connect with a wallet
    tezos.ConnectWallet();
}

NFTs

Players check ownership of a given NFT. For this RPG sample game, NFT ownership unlocks secret walking pathways in the game world.

To see this feature in action, play the Scene01_IntroMenu Scene. The Scene01_IntroMenu.cs class provides a full demonstration. Here is partial snippet.

// Setup
string demoNFTAddress = "KT1BRADdqGk2eLmMqvyWzqVmPQ1RCBCbW5dY";
int demoTokenId = 1;
            
// Store reference for convenience
ITezosAPI tezos = TezosSingleton.Instance;
        
// Returns the address of the current active wallet
string activeWalletAddress = tezos.GetActiveWalletAddress();

// Determines if the user account owns a given Nft
bool hasTheNft = tezos.IsOwnerOfToken(
    activeWalletAddress, 
    demoNFTAddress, 
    demoTokenId);

if (hasTheNft)
{
    // Unlock special game features
}