Etherlinker for UE4 - interact with Ethereum blockchain from Unreal Engine 4

Etherlinker for UE4

I want to share my project, which will allow you to interact with Ethereum blockchain from Unreal Engine 4
It’s open-source and free, has built-in VR and multiplayer support and lots of other features.

Why you may need this project:

  • You want to add an additional source of income for your project (without any royalties to third-party providers)
  • You want to store some data on Ethereum blockchain and use it in your projects
  • You need to implement some logic in solidity contracts and interact with them in UE4
  • You want to make blockchain-powered games
  • You want to make a virtual store in VR and sell your real-world products in it
  • You are an enterprise developer and want to use it for *** (removed due to NDA)
  • You want to use some examples (not related to blockchain) from it in your projects


  • Interact with Ethereum blockchain from Unreal Engine 4
  • Compile new solidity contracts or integration server directly from UE4 Editor
  • Start/Stop/Restart/Check integration server from UE4 Editor
  • Contract deployment support
  • ETH transfer support
  • Wallet balance checking support
  • Wallet creation support
  • Custom solidity contracts support
  • ERC20 token contract template with Premium Items and Subscriptions support
  • ERC721 token contract template to make unique in-game entities, like pets
  • Donations contract template - raise funds for your projects without paying commissions to third party providers.
  • Execute multiple operations on Ethereum blockchain from UE4 with a single batch request
  • Lots of template widgets (compatible with VR and multiplayer) to speed up your development
  • Lots of ways to create or load Ethereum wallets.
  • Data encryption methods on both UE4 and integration server sides (SSL, AES-256, RSA, ECDSA, HMAC).
  • External database support for integration server (Default is H2, recommended PostgreSQL)
  • Integration server monitoring via Java Melody
  • Geth/Parity support for those, who don’t want to use Infura Network
  • Multiplayer Support
  • VR Support

Supported platforms: Windows, Mac, Android, iOS
Supported engine versions: 4.20, 4.21, 4.22

Project repository: Bitbucket
Marketplace: Etherlinker in Code Plugins - UE Marketplace

Download release archives here:…HdFf3BtfmN69D8


New update, which includes Mac OS support improvements, now available.
Now it’s possible to start/stop/restart/check integration server and compile integration server or contracts from UE4 Editor in Mac OS (previously it was possible only on Windows).
The instanced stereo setting was disabled because on Mac OS it caused editor crashes. I submitted a bug report about that to the UE4 bug tracker.
Please refer to FAQ (Mac OS Support section) to get more details about configuring Etherlinker on Mac OS.

Small but useful update - now you can turn on hands collision and fingers ragdoll in VR
Read FAQ (Useful tips) for more details.
This update available currently from Bitbucket repository, so you have to clone it in order to get the last version.
I decided to publish release archives only on important fixes or once per 1-2 weeks. Will write in update post if release archives will be updated.

This is really cool man!

What’s new in this week’s update:

  • Integration server now can execute multiple operations in one batch request, which is good when you want to fetch multiple data from blockchain in one request.
  • Batch operations support for Premium Items and Premium Subscriptions solidity contracts, which will save you a lot of ETH in comparison with adding them one by one.
  • Integration server security improvements: simple antispam filter, which can be useful against DDOS attacks, user agent checks, is local server checks, IP address checks.
  • VR Widget Selector (as well as all other VR widgets) now can be interactable even when your VR hand with this widget attached is going through the object. Make sure to read updated FAQ (How to use Etherlinker plugin in your own projects), because now you have to migrate collision preset and trace channel (VRWidget) in order to make things work correctly in VR.
  • Improved VR widget material, with custom depth filtering, so widgets with that material now will be visible through all objects (like walls) except those who have certain CustomDepth Stencil Value (like VR Hands in this project).
  • Wallet/contract address validity checks on both UE4 (in widgets) and Integration Server sides.
  • New address parameter type with address validation.
  • Now all addresses are converted to checksum address automatically (EIPs/ at master · ethereum/EIPs · GitHub).

Release archives were updated and contain the latest changes.

What’s new in this week’s update:

  • Android support
  • iOS support
  • Geth/Parity support for those, who don’t want to use Infura Network

Read F.A.Q. for more details.

Release archives will be updated on 4th December, when Open Beta will be finished.

What’s new in this week’s update:

  • Open Beta now finished and Etherlinker finally got its first stable release version after many months of development.
  • Moved to UE 4.21 in the master branch from UE 4.20
  • New features will be available now for UE 4.21 and above
  • Stable version for UE 4.20 available in UE 4.20 branch and in the release archive
  • Migration from Java 8 to Java 11
  • Web3j update to 4.0.3
  • Spring Boot update to 2.1.1
  • Solidity contracts update
  • All docs updated

Release archives were updated and contain the latest changes.

It was a great experience, fusing many different programming languages, platforms, and interfaces in one project.
I know that many people have bad emotions regarding cryptocurrencies now. But I believe that sooner or later things will get stable and we start using it like any other tech in our life, instead of chasing for miracle treasure. In the end, in my opinion, Ethereum is just a distributed database and virtual machine to execute code on it. You can even use it for free on testnets (like rinkeby) and with a proper backups(in case of reset of testnet) it could give you a lot of new possibilities for your projects, like cloud storage of save games or accounts of your players, storing logic, which should be secured, into smart contracts, syncing progress between devices, adding some inter-project interactions, unique pets and items, etc. Unlike Unity, UE4 didn’t have any open-source plugins to interact with Ethereum blockchain. My goal was to create one, which you can use without relying on big third-party companies with their commissions and subscriptions when you have full control over what you’re doing.

As always, feel free to contact me, if you found a bug or have a feature request.

Awesome project Kelheor!

Are you in any way related to Vitalik Buterin? This project is elite.

I’ve just stumbled on this project, I definitely plan to use it and I hope it won’t later be abandoned. This is one of those systems that people won’t fully appreciate until there are example games built with it. If any dev’s here are more experienced on the backend side and would like to collab please let me know. I’m actively working alongside an upcoming ERC20 token similar to SteemIt and the official team will help promote projects Otherwise we could even just create our own token.

I’m planning to support it further (like engine updates), fixing bugs and adding requested features, if they will come and I have enough time to implement them. The latest version will be on bitbucket and release archives will be updated during big changes (like new engine version).

No, I’m not related to him in any way :slight_smile: Thanks!

So what is the status of this project? Does it allow me to sign transactions on LOOM as well. Mainly because ETH transactions are costly and slow. I am currently starting up to begin trying to implement blockchain functionality for my next project right now.

Project status is the same. When 4.22 will be released, I will publish update. I don’t planning to add third party projects support, like LOOM, at this moment.

Hmm I have a difficult time with the transaction fee design. LOOM people BTFO lol…
Also the only functionality I think will need is the ability to run a specific smart contract which I think is already supported.

Your mod is pretty slick though. The only issue I have at the moment with it is that my game where I am planning to make use of crypto has been in production for a year so its using version 4.19
Do you know if there are any other devs out there making use of this tech right now?

Also are you willing to add similar support for other coins? I am currently in need of support for EOS for example.

I’m bad at marketing, so I’m afraid not too many people know about this project. Sometimes people writing me with questions or bug reports via email, but I can’t say for sure how many people are using it.

At this moment, I’m afraid, I don’t have enough time for that. The situation can be changed if I will need that feature personally or if I will find funds to continue development.

A lot of normies have absolutely zero idea what we are even talking about right now so the number of people actually using the tech must be super small. I am super bad at marketing myself actually :smiley:

Are you working on anything that is using this tech?
What would be your price to work on an EOS skew, the lead scatter dev has mentioned multiple times about putting a sizable bounty out to get EOS working on the Unreal 4 engine.

Right now I’m working on the new content for UE Marketplace (it was a year since I published the last project, so it’s time to make something new). So currently I’m not using this project.

As for the price - I don’t know. I have zero knowledge about EOS, so I have to make a little research about it, find some java library to interact with EOS, integrate it to the server side, then update the plugin, add new examples, including support for multiplayer, VR, Mac OS, etc. It could take a couple of months of work of a single me. Then you can manipulate with average prices per hour of a java/UE4/C++ developer to calculate the average price of work. But as I said before, currently I’m a little busy, so if you need to add it immediately, you can hire somebody for this purpose on the side. It will add a couple of weeks of work since a new developer should familiarize himself with this project, but there is nothing too hard to add support of new cryptocurrencies.

My timeline is going to be at least a few months but most likely more than that.
Also the needed functionality is not as intense as the Ethereum plugin. The most I want to do is make it so you can log in with scatter(EOS metamask basically) and then run smart contracts directly. Though I think having the ability to see your coin/token balances and the results of the smart contract could be really useful.