Awesome
Algorand Unreal Engine Plugin
Official Unreal Engine plugin for Algorand Blockchain Platform.
If you are looking for a repo for this c++ sdk, check this repository.
This plugin provides the functionallity for building different types of transactions and managing wallets on the Algorand blockchain.
📙 1. Overview:
Algorand Unreal Engine Plugin
For indepth documentation on the overview, setup and usage of this plugin check here: Doc
For indepth video demo on using the plugin watch here: Video
This UE plugin includes:
- Root Folder: Unreal-Plugin - Put this plugin in your new or existing project to utilize.
- Example Folder: Unreal Plugin Example Project - Use this project to start your new game or demo/test Algorand System
This sdk contains a setting option to set RPC Info.
- RPC URL : You should set the Algorand node you want to work on with this url.
setAlgoRpc("https://testnet-algorand.api.purestake.io/ps2");
- RPC Port : Set port which can connect into server supporting algorand node with.
setAlgoPort(0);
- RPC TokenHeader : You should set Header to request apis according to algorand node type.
setAlgoTokenHeader("x-api-key:bLcs4F2SyGY0InF9M6Vl9piFTIZ8Ww281OjKXyE1");
This param has a pair made of key and value.
RPC types you can select are like following:
- Rest API
- mainnet: https://mainnet-api.algonode.cloud
- testnet: https://testnet-api.algonode.cloud
- betanet: https://betanet-api.algonode.cloud
- Purestake
- Sandbox Algorand Node
- algod: http://localhost:4001
- kmd: http://localhost:4002
- indexer: http://localhost:8980
- Local Algorand Node, (You should install new algorand node on your local)
👔 You should add token for above some urls and can reference this link.
📑 2. Prerequisites:
To use this UE plugin : ✅
- Unreal Engine 5.x is supported. https://docs.unrealengine.com/5.1/en-US/installing-unreal-engine/
- Windows: Visual Studio 2019 or newer, JetBrains Rider 2020.x
- macOS: Xcode 13.2.1
In order to build project using Unreal Engine 5.0+, use a branch
master
.
⚙️ 3. Installation:
- In this Github repository, clone this repo with
git
command or download as a zip file type and rename cloned folder nameAlgorandUnrealEngineSDK
. - You can find a folder called example, which is our test project.
- Then you should create a folder called
Plugins/Algorand
onexample/unreal-algorand-demo
folder. - You should copy all except for example folder on
AlgorandUnrealEngineSDK
folder to thePlugins/Algorand
folder of our test project.
After you complete above action, this plugin path is
example\unreal-algorand-demo\Plugins\Algorand
.
- You should register the plugin name (Algorand) into Build.cs on the Source
directory of out test project (
example\unreal-algorand-demo
) and rebuild your project.public UnrealAlgorandPlugin(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Algorand" }); PrivateDependencyModuleNames.AddRange(new string[] { }); }
Right click on UnrealAlgorandPlugin.uproject on
example/unreal-algorand-demo
folder, and "Generate Visual Studio project files" - This process may take some time.
- Once finished, open your *.sln project or *.uproject file with Visual Studio or JetBrains Rider.
🧭 4. Modules reference
- Algorand - entrypoint module, provides
C++
- &Blueprints
- friendly interfaces for plugin's users. This module should be considered as the only module you need to depend on. - AlgorandAPI - This module is one to make api request and process its result and send it to entrypoint module.
- Blockchain - This module contains core logic for building and signing txs from tx types and params.
- Wallet - This module is one related to manage wallet and wallet connect provider.
- Vertices - This module play an important role as an interface and router in connecting to our algorand c++ sdk (Vertices shared library).
🚀 5. Common Usage
UAlgorandUnrealManager
stored on Algorand
module should be used as the main entry-point for all Algorand-related actions.
Check our demo project made with this UE plugin.