Algorand Unreal Engine Plugin
June 23, 2023 ยท View on GitHub
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
gitcommand 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/Algorandonexample/unreal-algorand-demofolder. - You should copy all except for example folder on
AlgorandUnrealEngineSDKfolder to thePlugins/Algorandfolder 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-demofolder, 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.