If we were to describe the month in a word, it would be “polish.” It’s been a design and front end-heavy month working on the new reskin for Emergence, designing a new “frosted glass” effect for the overlay, onboarding screens, and an improved UX flow for creating and editing personas. Towards the end of February, we also started work on animating transitions between those screens.
Even from a developer’s perspective, we have made strides to “polish” error messaging by assigning status codes for easier support and debugging.
For the Unity version, we are currently converting EVM calls to local Nethereum calls, with the reskin and animations to follow soon after.
We’ve been noticing slow server response times recently. As such, we are conducting a review of our architecture setup and trying out other libraries in separate containers in an effort to identify and solve the problem. We’ll share more details next month when we have our findings.
Benchmarking
We started to analyze the metrics of our off-chain services to determine where potential bottlenecks would likely appear in the future. We observed that our authentication layer needed improvements, so we started working on changing the way we get users authorized.
With these changes came improved API speeds, some by as much as 200%. We will continue analyzing these metrics for future improvements.
Reskin and Animations
The Design Team has been working on the Emergence reskin since January. With the new frosted glass overlay and layout changes, we believe this is a much improved UI from what we previously had.
Now, users open Emergence and are welcomed with a much improved onboarding process. Together with our Branding team, we have improved the messaging around what Emergence is and how it can be used.
We have also been working on animation, looking at creating moving transitions for the layout and core components. We wanted the animations to be quite simple and minimal - something that would improve the experience and interaction with the overlay.
We have also made progress with updating our design system. This will allow us to move faster in the future, working with atomic components in the UI.
Unity Refactoring
We are leveraging the fact that the EVM server uses the same language as Unity, aiming to reduce deployment complexity by eliminating extra dependencies.
Ideally, code and logic from the EVM server (without the internal networking) will run with little to no modifications, so adding new features will have almost no friction.
We've found that even if the language is the same, the libraries we’re using are not entirely problem free. There have been some conflicts, most of which were due to fixed version requirements in Nethereum releases.
After several attempts, we made it work and we are now converting our methods to support WalletConnect for Unity, with intermittent success. The socket implementation is a little fragile, but it’s still a 0.1 beta version. With any luck, we should be able to get it working in no time.
Unreal Engine Plugin Reskin
We recently finished the visuals of the reskin of the Unreal Engine Emergence plugin. Although it doesn’t have most of its animations yet, we think it is a lot nicer than the previous styling. They say “a picture is worth a thousand words,” so hopefully this video is worth a million in terms of showcasing our work on Emergence this past month.
Emergence EVM Server - Wallet Creation and Management
We now have support for loading, creating, and managing Ethereum wallets in your local environment. Until now, only WalletConnect had been supported.
We chose to focus on local wallets as they can be used as a server instance wallet for testing, or to handle local and temporary wallets for your users.
We now also support loading multiple and concurrent Web 3.0 connections to different nodes. This will give you the ability to read and/or write to different networks depending on your needs. For example, you can read from Ethereum and write into Polygon.
With the HTTP EVM Integration Library, the next steps are to support complex types for interacting with smart contracts. Currently, we have only tested with strings and integers.
We also have plans to begin the development of a desktop wallet based on Nethereum tools. This wallet will have the ability to interact with desktop applications in a similar way to Metamask’s interaction with your favorite web dApps.
-Ryan